我已經使用Netbeaans(使用Maven)構建了一個基本的Java Web項目。Java WAR部署問題
問題是,在我的'依賴'中,我看到'javaee-web-api-6.0.jar'。但是,當我構建項目時,在.war文件中,我沒有看到這個.jar文件包含在任何地方。
我錯過了什麼,或者是否有任何額外的步驟,我需要採取所有的依賴包括在.jar中?
我已經使用Netbeaans(使用Maven)構建了一個基本的Java Web項目。Java WAR部署問題
問題是,在我的'依賴'中,我看到'javaee-web-api-6.0.jar'。但是,當我構建項目時,在.war文件中,我沒有看到這個.jar文件包含在任何地方。
我錯過了什麼,或者是否有任何額外的步驟,我需要採取所有的依賴包括在.jar中?
Servlet API依賴關係應該從不位於生成的war文件中。它是由您的容器提供的依賴項。把它放在war文件中只會導致一堆classloader問題。無論如何,大多數容器都會忽略jar文件,如果它存在於戰爭中的話。
javaee-api-6.0.jar and servlet-api-3.jar
這些罐子已經由Tomcat提供(假設使用tomact)。要在<TOMCAT_HOME>\lib
中驗證此外觀以查看這些罐子已經存在。
我有Tomcat 7.0並查看它的lib目錄,我沒有在那裏看到'javaee-api-6.0.jar'文件。我確實看到'servlet-api.jar' – 2013-05-03 04:46:02
它基本上是一樣的。 – NilsH 2013-05-03 04:46:45
@NilsH不,不是,java EE似乎沒有包含在tomcat中,只有servlet似乎是。 – 2013-05-03 04:48:51
檢查javaee-web-api-6.0.jar依賴項的範圍。如果它的提供了那麼它將不會被捆綁到戰爭中。
如果它是「提供」,它將不被捆綁,這是正確的。 – NilsH 2013-05-03 04:52:42
@NilsH對不起,這是我想說的錯誤。更正了類型。 – 2013-05-03 04:54:33
Tomcat提供的Java EE 6.0也是如此嗎? – 2013-05-03 04:41:31
servlet API,是的。 – NilsH 2013-05-03 04:41:53
謝謝。將javaee-web-api-6.0.jar包含在戰爭的WEB-INF/lib目錄中是否有任何缺點? – 2013-05-03 04:43:22