tomcat类冲突解决方案.docx
《tomcat类冲突解决方案.docx》由会员分享,可在线阅读,更多相关《tomcat类冲突解决方案.docx(5页珍藏版)》请在第一文库网上搜索。
1、应用服务器类冲突报错解决方案类冲突的原因之所以会产生这样的一个报错的原因是因为在应用服务器当中,在加载类即对jar包的 调用上遵循这样一个顺序:就是先调用应用服务器的jar包再调用工程的jar包。第一个问题:jar包加载顺序具体如下图所示:C:Apache Software FoundationTomcat 6.0lib 这是 tomcat 卜的 jar 包。文件更)编辑(!)查看S 收藏0)工具9 帮助后退。传/ 解文件夹叵9梃接文件和文件夹任务J创连一个新文件夹。将这个文件夹发布到 KebR共享此文件夹EKml1 amotation-ap. jar 普%JAR压编文库Catalina. j
2、arn好压jar世缩文件Hvfl 1,027 KBV flEEm! CataIina-ant. jarUB 热AR压缩文件其它位置Tomcat 6. 0我的文档 共享文档我的电脑网上邻居详细信息Sel-api. jar好压JAR压缩文件27 KB阖 to*ct-il8n-j j4 n 密BJAR压翁文柞ServleLapiJar 好压JAK在缮文件87 KBjasper, jarE JAR压缩文件501 KBjasper-el. jar JAR 1文件 100 KBtW tOacat-Coyote. jar 1多好压N置箱文件fl 686 KB16个对象4 35 MB i我的电脑C:Apach
3、e Software FoundationTomcat 6.0webappsWebReportXWEB-INFMib 这是我们部署在 tomcat F webreport 工程的 jar 包。对于这两个地方的jar包又这样的加载顺序:先加载tomcat的Iib下的jar包再加载WebrePOrt 下面的jar包。第二个问题:类冲突报错的原因在我们的工程目录WebRepoMWEB-INFMib下的2个jar包:A 和BoA和B两个jar包中都有一个类class叫做Co现在的问题是A.C有一个方法(就是一个处理程序)叫做D,而B.C 中没有这个方法。A.C.DB.C在这个目录下加载是没有顺序的,在
4、使用C类的时候:如果加 载的是Ajar包中的C类,这时要使用D方法是没有报错;如果加载 的是Bjar包的C类,这时要用D方法就没有,就会报类冲突的错误。我们本身的jar包fr-server.Jar和fr-third.jar都放在工程的Iib目录 下,一般出现这样的类冲突都是发生在fr-third.jar与其他jar文件之 间的,因为fr-third.jar是引用的第三方的类,难免其他驱动程序的jar 包也会引用这些类,所以就留下了隐患。解决方案利用tomcat的Iib和webreport的工程的Iib的加载顺序,把方法 多的jar包放到tomcat的Iib下面,让他优先加载,这样就避免了加 载
5、了没有用到该方法的jar包。所以如果遇到这类问题的时候,根据报错信息寻找相关的jar包, 作相应的移植即可。类冲突解决实例上海泛微在使用tomcat的时候有过这样的报错,如下图所示:H首页 上一页 0 I/ I 下一页I 1末页会议日期:2010-D7-05 至 2010-07-11500 Servlet Exceptionava. lang. NociassDefFoundError: orgapache/COmmOnS/pool/implGeneriCobjeetPOoI at com.fr.data. pool. Connect IonPoolManager. getDat aSourc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- tomcat 冲突 解决方案