【问题标题】:java: log4j: problem with jar executablejava: log4j: jar 可执行文件的问题
【发布时间】:2011-08-27 23:49:40
【问题描述】:

当我从命令行运行“java pakcage.Main”时,我的 log4j 工作正常,但是当我使用像“java -jar myjar.jar”这样的可执行 jar 运行相同的程序时,我得到以下错误:

log4j:WARN No appenders could be found for logger
log4j:WARN Please initialize the log4j system properly

log4j.jarlog4j.properties 在我的清单的 Class-Path 中。

我确定它曾经可以正常工作,但重建后它无法正常工作。

【问题讨论】:

  • 属性文件不能在类路径中。 jar 或目录可以是,但不是属性文件。包含 log4j.properties 的目录(或包含它的 jar)应该在类路径中。
  • 非常感谢@JB Nizet。现在工作正常。

标签: java log4j


【解决方案1】:

您只能将 jar 文件或目录列为类路径的一部分。与其指定 log4j.properties,不如指定属性文件相对于正在执行的 jar 的目录。

例子:

如果 myjar.jar 在基本目录中,log4j.jar 在 ./lib/ 和 log4j.properties 在 ./conf/

myjar.jar中的Class-Path入口如下

类路径:lib/log4j.jar conf/

【讨论】:

    【解决方案2】:

    我相信您也应该能够简单地将您的 log4j.xml(或 log4j.properties)文件包含在您的自定义 Jar 文件中。只要它在你的 Jar 文件的根目录下,log4j 框架就能找到它。

    【讨论】:

      【解决方案3】:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-05-04
        • 1970-01-01
        • 2013-06-22
        • 1970-01-01
        • 1970-01-01
        • 2011-03-18
        • 2018-07-20
        • 1970-01-01
        相关资源
        最近更新 更多