在开发部署Web应用程序过程中,我们经常会遇到这样的问题,项目放在JBoss或其他容器中运行没有任何错误,但是放在Tomcat下面就会出现该错误。这是为什么呢?
其实这都是因为jar包引入或冲突产生的问题,相信大多数使用java开发的同仁们都遇到过这样的问题,如果是自己开发的jar程序,情况可能还好一些,但是很多情况下问题都是发生在其他公司或同事开发的jar程序,调试和问题的查找让我们郁闷不已。
就ClassCastException org.apache.struts.taglib.html.MessagesTei这个问题的解决方法,我在百度上查找了许久,但都没有答案,后来在国外的网站上发现了此问题的解决方法,具体如下:
原因是Tomcat 5.5版本中已经包含了jsp-api.jar,而我的项目中同样也包含了jsp-api.jar,又是冲突
,我已经无语了!
解决办法也很简单,把项目中的jsp-api.jar干掉就可以了。
写本文的主要目的是为了提醒大家和我,在程序移植和二次开发时,如果发现问题,首先应当按以下顺序查找问题:
1、环境问题:包括操作系统、Web服务器、源代码的环境、网络和硬件资源等
2、代码是否完整
3、是否程序中包含重复jar或class文件,特别是连class文件的包路径也相同的情况下