我遇到一个问题,我的项目中包含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>
    ....


希望这可以帮助!

关于java - Apache CXF geronimo-servlet_3.0_spec-1.0.jar-未加载具有Tomcat的servlet jar的jar,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23849471/

10-09 00:31
查看更多