tomcat中servlet冲突问题
在启动tomcat以后,控制台发现“Offending class: javax/servlet/Servlet.class”信息:
信息: validateJarFile(E:\code\MyApp\target\MyApp\WEB-INF\lib\servlet-api-3.0-alpha-1.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/servlet/Servlet.class
解决:
原因:tomcat下的servlet.jar跟项目的WEB-INF下的lib包里的servlet.jar冲突了(具体原因是跟tomcat加载项目顺序有关)将servlet包从项目的WEB-INF下的lib包删除。再启动,错误信息就消失了。
解决过程中出现问题:删除web项目中WEB-INFO/lib中的servlet.jar包后,再次运行项目报错,原因是项目中import的关于该jar中的类找不到了,所以在项目的library中单独添加了servlet.jar包,再启动就正常了。
tomcat加载项目顺序文档参考:http://alinazh.blog.51cto.com/5459270/1276253
http://blog.csdn.net/tongxinxiao/article/details/43602675
备注:今后尽量保证在tomcat中和项目的lib中不要有重复的包,版本号不同的也不要有,避免造成类似问题。