2009-09-02 19 views
35

Jak mogę dodać serwlety API do mojego pom.xml projektujak dodać Servlet API do mojego pom.xml

mvnrepository.com ma wiele serwletu API i podobnie nazwanych projekty, które nie wiem który jest właściwy. A może wszystkie są w porządku?

+0

Dla niektórych wersji -> http://mvnrepository.com/artifact/javax.servlet/javax.servlet- api/3.1.0. Na tym łączu znajdują się fragmenty XML, które pozwalają dodać go jako zależność. Możesz wybrać inną wersję, oczywiście, po prostu zwróć uwagę na "Uwaga: Jest nowa wersja tego artefaktu" – Andrejs

Odpowiedz

43

wierzę większość serwerów web/aplikacji są dostarczane z wersją API serwletów, więc nie będziesz chciał pakować api w pliku .war. Musisz sprawdzić, która wersja jest dołączona do twojego serwera, a następnie możesz użyć w celu zastąpienia servlet-api-wersji wersją. Będziesz chciał określić zakres "podany", aby plik api.jar nie był zawarty w pliku wojny.

+0

Dobrze, zapomniałem wspomnieć, że –

+0

musisz dodać aplet-api-wersja w tagu właściwości również ? – SoulMan

+0

najlepiej, tak, lub możesz po prostu umieścić wersję bezpośrednio w tagu wersji, jeśli wolisz. – digitaljoel

0

To zależy od wersji API serwletu, którego używasz.

Artefakt javax.servlet zapewni słoiki dla wszystkich wersji API serwletów.

2

Używamy

<dependency> 
    <groupId>javax</groupId> 
    <artifactId>j2ee</artifactId> 
    <version>1.4</version> 
    <scope>provided</scope> 
</dependency> 

ale jeśli trzeba tylko Servlet API może chcesz używać

<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>servlet-api</artifactId> 
    <version>?</version> 
    <scope>provided</scope> 
</dependency> 
-1

Osiągnięty zakres może być użyty, gdy nie chcesz umieścić pliku jar wewnątrz folderu WEB-INF/lib, zamiast dostarczać go w środowisku wykonawczym przez kontener lub JDK.

4
<dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>servlet-api</artifactId> 
     <version>2.5</version> 
     <scope>provided</scope> 
    </dependency> 
2

Dla servlet-api 3.1.0, tutaj jest deklaracja:

<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>javax.servlet-api</artifactId> 
    <version>3.1.0</version> 
</dependency> 
+1

Na [mvnrepository] (http://mvnrepository.com) we wpisie dla 'javax.servlet: servlet-api: 3.0-alpha-1' ktoś napisał (i nie mam pojęcia kto): Uwaga: ten artefakt był przeniesiono do: Nowa grupa javax.servlet Nowy artefakt javax.servlet-api_. Tak więc pozornie bardziej poprawny 'javax.servlet: servlet-api' nie jest właściwie poprawny. – Adam

+0

Niesamowite, dzięki, wciąż błaga o pytanie, skąd wiedziałeś? Uprzejmie podziel się maven-fu :) – John

Powiązane problemy