我的项目看起来像这样
EAR_proj
lib/
3rd party jars
EJB_proj
Web_proj (a web service with WSDL)
Common_proj1
Common_proj2EAR_proj具有包含所有其他项目的部署程序集
所有项目在第三方库的类路径中都有"EAR库“。
Web_proj具有包含Common_proj1和Common_proj2的部署程序集(在其MANIFEST.MF中)
然而,当我将Web_project部署到服务器(在RAD中)时,我一直在为驻留在Common_proj1中的1个类获取NoClassDefFoundError。
查看WebSphere ffdc错误文件时,它说
FFDC Exception:java.io.FileNotFoundException SourceId:com.ibm.ws.websvcs.utils.Axis2Utils.getApplicationClassPath ProbeId:874
java.io.FileNotFoundException: Common_proj1\bin (Access is denied.)另一个ffdc文件表明COMMONPROJ1/bin在某个类加载器的类路径上……我不确定它为什么不把Common_proj1当作一个jar文件。是不是因为这是在IDE中发生的?
服务器Classloader策略被设置为“单一”和“使用父类加载器首先加载的类”策略
发布于 2015-03-28 00:41:21
在升级到较新的JDK之后,这是一个RAD问题。
http://www-01.ibm.com/support/docview.wss?uid=swg21667356
在web服务实现类中添加属性wsldLocation可以解决这个问题。
https://stackoverflow.com/questions/29243987
复制相似问题