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包

时间: 2024-11-05 20:28:13

tomcat输出servlet-api.jar - jar not loaded 解决办法的相关文章

Missing artifact com.sun:tools:jar:1.5.0解决办法

前一阵子下了最新的JavaEE版本的eclipse,导入maven工程之后,pom文件一直报Missing artifact com.sun:tools:jar:1.5.0.很纳闷,tools.jar是jdk自带的jar包.查了一下pom依赖图,原来是struts-core依赖了这个jar包. 试了网上的各种方法,只有把jdk的tools.jar复制到本地仓库,报错才消失. 具体解决办法如下: 把D:\Program Files (x86)\Java\jdk1.6.0_10\lib\tools.

cocos2d-x 3.2 for wp8-xaml应用商店提交应用时出现的API错误(不能用CreateEventExA)解决办法

好不容易做完一个游戏,提交到商店显示"本地API不支持CreateEventExA"之类的错误提示 于是我在整个解决方案里查找CreateEventExA,发现没有,却在Audio.h找到了CreateEventEx: StreamingVoiceContext() : hBufferEndEvent(CreateEventEx(NULL, FALSE, FALSE, NULL)) { } 刚开始由于懒,直接注释掉了这些,然后发现运行时出现闪退. 然后我查看CreateEventEx,

&#39;JetEntityFrameworkProvider&#39; could not be loaded 解决办法

原因:JetEntityFrameworkProvider引用的EntityFramework与你使用的版本不一致,造成程序加载这个DLL失败. 解决办法: 使用Reflect软件JetEntityFrameworkProvider查看引用的EntityFramework.dll版本是6.0,而项目目前使用的的6.2版本,因此两者不兼容,造成程序启动无法加载这个JetEntityFrameworkProvider.dll. 从GitHub下载JetEntityFrameworkProvider源

java web应用在tomcat下servlet api包冲突问题

在tomcat 7.0.59版本下,java打得war包依赖了service api的包,然后tomcat启动报了下面的错,导致应用启动失败,访问不了. Mar 20, 2015 11:29:09 PM org.apache.catalina.loader.WebappClassLoader validateJarFile INFO: validateJarFile(/home/ubuntu/apache-tomcat-7.0.59/webapps/jiagoushi/WEB-INF/lib/s

Eclipse部署Maven web项目到tomcat服务器时,没有将lib下的jar复制过去的解决办法

我们在做web开发是,经常都要在eclipse中搭建web服务器,并将开发中的web项目部署到web服务器进行调试,在此,我选择的是tomcat服务器.之前部署web项目到tomcat进行启动调试都很正常,今天突然出现无法启动情况,启动过程报如下错误: java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener at org.apache.catalina.loader.Webap

ant jsch.jar - 一个错误及解决办法

ant jsch.jar -- 一个异常及解决方法 运行build.xml出现异常: Cause: Could not load a dependent class com/jcraft/jsch/Logger It is not enough to have Ant's optional JARs you need the JAR files that the optional tasks depend upon. Ant's optional task dependencies are li

spark on yarn运行产生缺jar包错误及解决办法

1.本地运行出错及解决办法 当运行如下命令时: ./bin/spark-submit --class org.apache.spark.examples.mllib.JavaALS --master local[*] /opt/cloudera/parcels/CDH-5.1.2-1.cdh5.1.2.p0.3/lib/hadoop-yarn/lib/spark-examples_2.10-1.0.0-cdh5.1.2.jar /user/data/netflix_rating 10 10 /u

转:Tomcat内存溢出的三种情况及解决办法分析

Tomcat内存溢出的原因 在生产环境中tomcat内存设置不好很容易出现内存溢出.造成内存溢出是不一样的,当然处理方式也不一样. 这里根据平时遇到的情况和相关资料进行一个总结.常见的一般会有下面三种情况: 1.OutOfMemoryError: Java heap space 2.OutOfMemoryError: PermGen space 3.OutOfMemoryError: unable to create new native thread. Tomcat内存溢出解决方案 对于前两种

Eclipse新建Servlet出错,少包的解决办法

当我创建servlet后,出现了很多错误,目测是没有引进各种包 如图所示: 解决办法是:打开Properties->java Bulid path->Libraries->Add Libraries->Server Runtime,选择tomcat服务器,如果server Runtime里面是空的,是因为还没有添加服务器,添加运行时环境: Window->Preferences->Server->runtime Enviroment->add, 选择tomc