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包