我的项目看起来像这样
EAR_proj
lib/
3rd party jars
EJB_proj
Web_proj (a web service with WSDL)
Common_proj1
Common_proj2
EAR_proj的部署程序集包含所有其他项目
所有项目在第3方库的类路径中都有“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文件表明Common_proj1 / bin在某个ClassLoader的类路径上......我不确定为什么它不只是将Common_proj1视为jar文件。是因为这发生在IDE中吗?
服务器类加载器策略设置为“单个”和“首先加载父类加载器的类”策略
答案 0 :(得分:0)
在升级到较新的JDK之后,这是一个RAD问题。
http://www-01.ibm.com/support/docview.wss?uid=swg21667356
在Web服务实现类中添加属性wsldLocation可以解决问题。