2013-05-03 3 views
0

Maven을 사용하는 Netbeaans를 사용하여 기본 Java 웹 프로젝트를 만들었습니다.Java WAR 배포 문제

내 '종속성'에 'javaee-web-api-6.0.jar'이 표시됩니다. 그러나 프로젝트를 빌드 할 때 .war 파일에서이 .jar 파일이 어디에도 포함되어 있지 않습니다.

내가 누락되었거나 .jar에 모든 종속성을 포함시키기 위해 필요한 추가 단계가 있습니까?

답변

1

서블릿 API 의존성은 이 아니어야합니다.이 결과로 나타나는 war 파일에 있어야합니다. 컨테이너에서 제공하는 종속성입니다. war 파일에 넣으면 클래스 로더 문제가 발생합니다. 전쟁 중에 존재한다면 대부분의 컨테이너는 항아리 파일을 무시할 것입니다.

+0

Java EE 6.0도 Tomcat에서 제공합니까? –

+0

서블릿 API입니다. – NilsH

+0

감사합니다. 전쟁의 WEB-INF/lib 디렉토리에 javaee-web-api-6.0.jar를 포함하는 것이 단점입니까? –

0

javaee-api-6.0.jar and servlet-api-3.jar 이러한 jar는 이미 Tomcat에서 제공됩니다 (Tomact를 사용한다고 가정). <TOMCAT_HOME>\lib에서이 항아리가 이미 있는지 확인하십시오.

+0

Tomcat 7.0이 있고 lib 디렉토리를보고 있는데 거기에'javaee-api-6.0.jar '파일이 보이지 않습니다. 'servlet-api.jar'가 보입니다. –

+0

기본적으로 같습니다. – NilsH

+0

@NilsH 아니, Java EE는 Tomcat에 포함되어 있지 않은 것 같습니다. 서블릿 만있는 것 같습니다. –

1

javaee-web-api-6.0.jar 종속성의 범위를 확인하십시오. 으로 제공된 경우 결과 전쟁에 번들되지 않습니다.

+0

''제공된 '경우 번들로 묶을 필요가 없습니다. 이것이 옳습니다. – NilsH

+0

@NilsH 죄송합니다. 오타를 잘못 말하면서 제가하고 싶은 말입니다. 유형을 수정했습니다. –