1

在我的 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 ?

4

1 回答 1

1

您是否将 log4j jar 添加到您的 EJB jarmeta-inf/Manifest.mf文件中?

Manifest-Version: 1.0
Class-Path: log4j-1.2.15.jar
于 2013-07-17T16:11:56.823 回答