tomcat web工程 jar包冲突解决方法

时间:2021-10-19 15:48:25

目前在部署工程时,遇到了一个问题,报错信息如下:

See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class

经检测,是工程包中含有javax.servlet包的JAR包,造成与Tomcat自身的servlet-api.jar的冲突。

1.问题的原因:

tomcat 启动后先将tomcat/common/lib目录下的jar包全部读入内存,如果webapps目录里的应用程序中WEB-INF/lib目录下有相同的包,将无法加载,估计不同版本的包之间也会造成类似问题

2.解决方法

如果jar包只包含javax.servlet,则可以直接删除。

如果不是则需要进行如下处理:

将javax.servlet从该项目中删除,此时工程肯定会少依赖关系,java文件报错。此时呢,在工程外在建一个包,将完整的包放到里面

通过myeclipse的properties-->java build path-->add External jars 添加进来即可解决问题。

该方法数与笨方法,还有比较好的方法,待大家补充及后续发掘