我上次就是有个包和was中的一个包冲突了,于是我就想把这个包在was的jvm中加载,我在jvm中配了包路径,结果服务都起不来。我的解决方法是改变类加载,设置为父类最后,不过问题又来了,我程序中用到了一个类,这个类在我的应用中4个jar中都有,结果又出现冲突。。。
如果可以使用WAS中的包的话,最好就使用WAS中的;如果不行,可以将应用设置为父类最后,但是要保证应用中比较干净。您最后的问题,只能从应用入手,将具有同样类的jar只保留一个,以便解决问题。
设置详细类加载,grep 之,然后一个个排查冲突各方。
这个要一个包一个包的排查, 留下不冲突的包,删除有冲突的包。
也可以将有冲突的jar 包替换到WAS 服务中的包也是一种解决办法。
这个月我也遇到过这样的问题,应用里多个jar包存在不同版本,结果访问一些action时,总是报NoClassDefError 或者ClassNotFoundException。当然这个项目不同模块并不需要不同版本的jar包,如果有多个应用,同一应用等需要用到不同版本的jar包,就需要设置websphere变量来设置共享库。
关于TWT使用指南社区专家合作厂商入驻社区企业招聘投诉建议版权与免责声明联系我们 © 2024talkwithtrend — talk with trend,talk with technologist京ICP备09031017号-30