在我的 WAS 6.1 上,我在 EAR 中部署了一个 EJb,并且 EJb 使用 log4j。尝试通过远程客户端调用 EJb 时出现此错误:
Caused by: java.lang.NoClassDefFoundError: org.apache.log4j.Priority
at java.lang.J9VMInternals.verifyImpl(Native Method)
at java.lang.J9VMInternals.verify(J9VMInternals.java:69)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:131)
at com.bmo.olbb.prs.integration.service.util.PRSUtil.<clinit>(PRSUtil.java:13)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:196)
... 10 more
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Priority
在 installedapps 目录中,在 EAR 文件夹中,我有 EJB jar 和 log4j-1.2.15.jar。那我为什么会得到这个?其他的事情是它怎么可能同时是 ClassNotFoundException 和 NoClassDefFoundError ?