runnable jar文件找不到log4j.xml

时间:2013-04-19 05:02:59

标签: java eclipse maven log4j

我编写了一个可运行的java应用程序(命令行应用程序)。 我将log4j.xml放在src/main/resources中,当我在eclipse中调试应用程序时,它运行良好。

但是当我将它导出到一个可运行的jar文件(排除所有必需的库和资源)时,并在命令行中运行它。 java -jar myapp.jar,应用程序无法找到log4j.xml。 警告是:

log4j:WARN No appenders could be found for logger.
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more in
fo.

当我将log4j.xml放到放置myapp.jar的文件夹时,它再次有效!

如何使用log4j.xml中打包的myapp.jar

2 个答案:

答案 0 :(得分:1)

问题是您的log4j.xml文件最终会出现在jar中的resources文件夹中。这意味着您的源代码结构错误,或Eclipse不关心它。您的文件夹结构类似于maven项目。如果是,请尝试使用Maven来创建hari文件。这会将log4j配置文件放在类路径根目录中。否则,您可以通过添加系统属性-Dlog4j.configuration=resources/log4j.xml

来尝试启动jar文件

答案 1 :(得分:0)

我发现了我的问题!〜 我使用了maven,但是通过eclipse扩展了项目。 当我使用mvn assembly:assembly时,效果很好