2009-09-02 2 views
35

어떻게 내 프로젝트의 pom.xml 파일에 서블릿 API를 추가하려면

mvnrepository.com 내가 모르는 서블릿 API를 많이와 비슷한 이름의 프로젝트를 가지고 그것은 올바른 것입니다. 아니면 모두 괜찮습니까?

+0

-> http://mvnrepository.com/artifact/javax.servlet/javax.servlet- api/3.1.0. 이 링크에는 종속성으로 추가 할 수있는 XML 스 니펫이 있습니다. 당신은 물론 다른 버전을 선택할 수 있습니다. "Note :이 이슈에 대한 새 버전이 있습니다" – Andrejs

답변

43

, 그래서 당신은 당신의 .war 파일에 API를 번들로 묶기를 원하지 않을 것이다. 서버에 어떤 버전이 포함되어 있는지 확인해야합니다.

<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>servlet-api</artifactId> 
    <version>${servlet-api-version}</version> 
    <scope>provided</scope> 
</dependency> 

servlet-api-version을 버전으로 대체 할 수 있습니다. "제공된"범위를 지정하여 api.jar이 war 파일에 포함되지 않도록해야합니다.

+0

좋은 점은, –

+0

속성 태그에 servlet-api-version을 추가해야한다는 점을 잊어 버렸습니다. ? – SoulMan

+0

선호, 가능하면 버전 태그에 직접 버전을 넣을 수도 있습니다. – digitaljoel

0

사용중인 서블릿 API의 버전에 따라 다릅니다.

javax.servlet 이슈는 모든 서블릿 API 버전에 대한 병을 제공합니다.

2

우리는

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

사용하지만 당신은 단지 서블릿 API를 필요로하는 경우 사용할 수

<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>servlet-api</artifactId> 
    <version>?</version> 
    <scope>provided</scope> 
</dependency> 
나는 대부분의 웹/애플리케이션 서버는 서블릿 API의 버전을 번들로 생각
-1

제공된 범위는 jar 파일을 WEB-INF/lib 폴더 안에 넣고 싶지 않을 때 사용할 수 있습니다. 대신 런타임에 컨테이너 나 JDK로 제공합니다.

서블릿 API를 3.1.0에 대한
4
<dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>servlet-api</artifactId> 
     <version>2.5</version> 
     <scope>provided</scope> 
    </dependency> 
2

, 여기에 선언입니다 : 일부 버전의 경우

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

[javax.servlet : servlet-api : 3.0-alpha-1]에 대한 항목에 대한 [mvnrepository] (http://mvnrepository.com)에서 누군가가 작성했습니다 (그리고 나는 누구인지 모릅니다) : _Note :이 아티팩트는 다음으로 이동 : 새 그룹 javax.servlet 새로운 아티팩트 javax.servlet-api_. 그래서 더 정확한'javax.servlet : servlet-api'는 실제로 올바른 것이 아닙니다. – Adam

+0

신난다, 고마워, 아직도 질문을 간청한다, 당신은 어떻게 알고 있었느냐? 친절하게 maven-fu를 공유하십시오 :) – John