was环境jar包冲突解决方案

时间:2020-12-15 09:14:57

问题简述:

1)was环境:WebSphere Application Server8.5.5;

2)linux服务器:CentOS7

3)项目介绍:商业银行电信反诈骗项目

4)异常描述:项目开发完毕后,在本地测试(jetty6、tomcat6)无任何异常。部署到was环境就报各种异常,有业务方面的异常、也有非业务方面的异常。比如:

java.lang.NoSuchMethodException

java.lang.NullPointerException

java.lang.ClassNotFoundException

因为在开发环境测试是没有问题的,不可能是应用层面的问题,后来想到可能是was自带的jar与应用中的jar冲突(主要是版本不一致),最终从:java.lang.NoSuchMethodException入手,通过创建共享库解决了这个问题。

解决思路:

1)通过诡异的异常信息:NoSuchMethodException、ClassNotFoundException等,找出冲突的jar;

2)在服务器(任意路径下均可)创建共享库文件夹,将应用中冲突的jar包放置到该共享库文件夹中,并对该文件夹授权;

3)删除应用war包中冲突的jar,即放入服务器共享文件夹下的jar;

4)登录was控制台,创建共享库;

5)部署应用;

6)引用共享库;

7)启动was,访问应用;

补充:由于撰写博客时服务器网络不通,对于如何“创建共享库”和“引用共享库”的过程无法配图,欢迎跟帖留言。