zoukankan      html  css  js  c++  java
  • tomcat输出servlet-api.jar

    tomcat输出servlet-api.jar - jar not loaded 解决办法

    启动tomcat后,控制台输出信息:WEB-INF/lib/servlet-api.jar not loaded 解决办法
    INFO: Starting Servlet Engine: Apache Tomcat/7.0.54
    Dec 26, 2016 1:08:07 PM org.apache.catalina.loader.WebappClassLoader validateJarFile
    INFO: validateJarFile(/home/www/xxx/WEB-INF/lib/servlet-api-2.3.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/servlet/Servlet.class

    在tomcat/common/lib/中放入了servlet-api.jar包,将项目的web-inf/lib下的servlet-api-2.3.jar删掉,保证tomcat/common/lib/和WEB-INF/lib这两个目录下的jar没有重复的,问题解决。
    经测试如果删掉tomcat/common/lib/中的servlet-api.jar包无法正常启动。
    tomcat 启动后先将tomcat/common/lib目录下的jar包全部读入内存,如果webapps目录里的应用程序中WEB-INF/lib目录下有相同的包,将无法加载,估计不同版本的包之间也会造成类似问题。

    maven打包编译的时候可以把这个jar包排除掉:
    <!-- servlet -->
    <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <scope>provided</scope>
    </dependency>
    pom配置里面去掉上面部分

    另:不是maven打包编译可以在war包里用解压缩文件打开,直接删掉这个jar包

  • 相关阅读:
    1.第一个java程序
    5.第三章 运算符和基本选择结构
    7.关系运算符
    4.第二章章末总结
    3.计算员工工资
    JAVA并发操作——Thread常见用法(Sleep,yield,后台线程)
    JAVA 对象序列化(一)——Serializable
    JAVA 线程中的异常捕获
    JAVA反射机制实例
    JAVA 对象序列化(二)——Externalizable
  • 原文地址:https://www.cnblogs.com/zdz8207/p/java-tomcat-servlet-api-jar-not-loaded.html
Copyright © 2011-2022 走看看