繁体   English   中英

Apache CXF geronimo-servlet_3.0_spec-1.0.jar-未加载具有Tomcat的servlet jar的jar

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM