簡體   English   中英

Tomcat中的Maven War部署錯誤

[英]Maven War Deployment Error in Tomcat

基本上,我無法克服此錯誤,需要反復嘗試。

我已經將當前的javaee項目移植到了maven,從maven 3.0.3發起了一場戰爭,它似乎沒有部署在tomcat 6.0.10中。我使用的是jdk 1.7(盡管我在使用jdk 1.6和tomcat 7時遇到了相同的錯誤)

它引發的錯誤是

Mar 15, 2013 10:24:39 AM org.apache.catalina.loader.WebappClassLoader validateJa
rFile
INFO: validateJarFile(D:\apache-tomcat-6.0.10\webapps\Name\WEB-INF\lib\
javaee-api-5.0-1.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Off
ending class: javax/servlet/Servlet.class
Mar 15, 2013 10:24:39 AM org.apache.catalina.loader.WebappClassLoader validateJa
rFile
INFO: validateJarFile(D:\apache-tomcat-6.0.10\webapps\Name\WEB-INF\lib\
servlet-api-2.5.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offe
nding class: javax/servlet/Servlet.class
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further detail
s.
Inside Cache Manager Initialization new ....
java.lang.NullPointerException
Mar 15, 2013 10:24:59 AM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
Mar 15, 2013 10:24:59 AM org.apache.catalina.core.StandardContext start
SEVERE: Context [/Name] startup failed due to previous errors

當我嘗試查找錯誤“未加載jar。請參閱Servlet Spec 2.3,第9.7.2節”時,它說首選的jar必須同時存在於編譯和運行時,因此我添加了servlet-api-2.5.jar。在pom.xml中。 javaee-api-5.0.1.jar已經在那里。

添加依賴項后,我得到相同的錯誤。

任何人都對這種奇怪的行為有任何想法。

將servlet api的范圍更改為<scope>provided</scope>因為它是由tomcat 提供的。 而且tomcat不提供javaee-api ,因此請將其保存在您的webapp中。

Tomcat不支持完整的Java EE堆棧,但僅支持其中一部分(即,支持servlet-api,但不支持JTA,JPA,JMS):這就是為什么您需要在Web應用程序中包含javaee-api

“無法加載jar”錯誤是由可供Tomcat運行時選擇的javax/servlet/Servlet.class倍數引起的。 從應用程序的WEB-INF/lib刪除javaee-api-5.0-1.jarservlet-api-2.5.jar 這些jar已由Tomcat提供。 要驗證這一點,請在<TOMCAT_HOME>\\lib中查看這些罐子已經存在。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM