Tomcat中的Maven War部署错误
基本上我无法克服这个错误,一次又一次地尝试。Tomcat中的Maven War部署错误
我已经将我目前的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
当我试图找出有关错误“罐子未加载。参见Servlet规范2.3,节9.7.2”时,它表示,优选jar必须在复制和运行时都存在,所以我在pom.xml中添加了servlet-api-2.5.jar。 javaee-api-5.0.1.jar已经在那里。
添加依赖后,我得到相同的错误。
任何人都知道这种奇怪的行为。
“jar not loaded”错误是由于Tomcat运行时选择了多个javax/servlet/Servlet.class
引起的。从您应用的WEB-INF/lib
中删除javaee-api-5.0-1.jar
和servlet-api-2.5.jar
。这些罐子已经由Tomcat提供。要在<TOMCAT_HOME>\lib
中验证此外观以查看这些罐子已经存在。
servlet-api-2.5.jar存在,删除它但javaee-api-5.0-1.jar不存在,所以我仍然卡住。 是否有tomcat的javaee-api jar有其依赖的lib? – ItachiUchiha 2013-03-15 09:05:38
'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
-app
仅通过添加依赖关系,是否可以在Tomcat中执行所有Java EE功能?不需要使用TomEE? – 2018-02-19 09:58:52
@PanuHaaramo号Tomcat有一个嵌入了servlet-API的实现,但没有实现JTA,JPA,JMS ......所以要在tomcat中使用它们,你必须在类路径中明确地添加你最喜欢的那些规范的实现。 – ben75 2018-02-19 12:16:16
可能的重复[错误:Servlet Jar未加载...正在运行的类:javax/servlet/Servlet.class](http://stackoverflow.com/questions/1993493/error-servlet-jar-not- loaded-offending-class-javax-servlet-servlet-class) – Raedwald 2015-02-13 13:13:42