近期在学习WebSocket的知识。从tomcat的演示样例文件里找到了一些例程,可是把项目复制到MyEclipse中,启动tomcat的时候一直报这个异常,引起这个异常的原因是我引入了两个jar包到这个项目中 catalina.jar,tomcat-coyote.jar。这个是tomcat提供的两个jar包。
当在tomcat中部署这个项目的时候会出现这个异常。应该是包冲突的原因。
我从网上搜了非常多的解决的方法,主要有一下三种。
1、删除您加入在Referenced Libraries 下的catalina.jar包,然后删除Webapp下的部署程序,又一次部署。
2、在tomacat的context.xml里加上<Loader delegate="true" />
3、改动包的部署配置 、右键project-> Properties-> myeclipse-> web -> deployment 改动 Lib...Policies 取消 default 取消 jars from build path
这三种方式应该相应不同的项目来使用的,我出现这样的异常使用第一种和第三种都没有解决这个问题,终于还是另外一种方式最简单,最easy实现。
但对于另外一种方式因为是改动tomcat的配置文件,不知道以后会引起什么异常。
所以假设能使用第一种或者第三种方式解决,最好不要使用另外一种。
或者在真正部署程序的时候。将tomcat中改动的文件改动回来。