[英]Apache CXF geronimo-servlet_3.0_spec-1.0.jar - jar not loaded having Tomcat's servlet jar
我遇到一个问题,我的项目中包含Apache CXF jar(我使用Eclipse作为IDE),运行Tomcat之后,我得到以下信息:
INFO: validateJarFile(/home/USER/programming/tools/apache-tomcat-7.0.50/webapps/abosi/WEB-INF/lib/geronimo-servlet_3.0_spec-1.0.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/servlet/Servlet.class
这是因为Apache CXF将geronimo-servlet_3.0_spec-1.0.jar
作为应用程序的一部分部署到WEB_INF/lib
目录,但是Tomcat已经在TOMCAT_ROOT/./lib/servlet-api.jar
实现了它的servlet实现。
我该如何预防呢?
您可以通过在pom.xml中明确排除geronimo jar来摆脱此消息,如下所示:
....
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-bundle</artifactId>
<version>3.0.0-milestone2</version>
<exclusions>
<exclusion>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-servlet_3.0_spec</artifactId>
</exclusion>
</exclusions>
</dependency>
....
希望这可以帮助!
通过从“ Project Properties
->“ Java Build Path
顺序和导出”选项卡中删除Apache CXF,我设法解决了此问题
和取出.jar
期从$CATALINA_HOME/bin/APP_NAME/lib/geronimo-servlet_3.0_spec-1.0.jar
和$CATALINA_HOME/webapps/abosi/WEB-INF/lib/activemq-all-5.9.0.jar
编辑
在尝试并部署了几次之后,看来这不是解决方案。 这些.jars
仍显示在此目录中。 有任何想法吗 ?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.