【问题标题】:Log4j 1.2.17 Jar not found未找到 Log4j 1.2.17 jar
【发布时间】: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/…

标签: java apache jboss log4j


【解决方案1】:

在我的 jboss-deployment-structure.xml 我添加了

<exclusions>
        <module name="org.apache.log4j"/>

就像迁移手册中所说的那样,但这似乎是我的问题。删除它允许我的程序找到 jar 文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-21
    • 2022-01-16
    • 2022-01-16
    • 2020-03-29
    • 2016-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多