繁体   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