【发布时间】:2014-07-25 19:50:33
【问题描述】:
我正在将我的应用程序部署为 JBoss EAP 6.2 上的 JAR 并尝试实现 apache log4j 1.2.17。
在我的程序中,我有:
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
...
Logger newLogger = Logger.getLogger(name);
PropertyConfigurator.configure("log4j.properties path");
return newLogger;
但是,每次我尝试执行此操作时,我总是会得到一个堆栈跟踪,原因是:
java.lang.NoClassDefFoundError: org/apache/log4j/Logger
at "the program I am in"...
log4j.jar 文件是在我的项目的类路径中定义的。
任何帮助将不胜感激。
马特
【问题讨论】:
-
请描述一下你耳朵的结构。
-
我没有使用 EAR 我正在使用 JAR 来部署我的应用程序。我有包含 src 的根项目。 src 包含我的日志记录代码的程序以及一个 META-INF 文件夹,其中包含我的 jboss-deployment-structure.xml 和 MANIFEST.MF .classpath 在根项目中并包含 log4j.jar。
-
那你怎么把log4j放到类路径中呢?您是否在 MANIFEST.MF 中定义了依赖关系?
-
是的,我做到了。我的 MANIFEST.MF 如下所示: Manifest-Version: 1.0 Dependencies: org.apache.log4j
-
此链接可能对您有所帮助stackoverflow.com/questions/8897528/…