0

我编写了一个可运行的 java 应用程序(命令行应用程序)。我把它放进去log4j.xmlsrc/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

4

2 回答 2

1

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

于 2013-04-19T05:50:57.597 回答
0

我找到了我的问题!~我使用了maven,但是通过eclipse扩展了项目。当我使用mvn assembly:assembly时,它运作良好

于 2013-04-19T05:36:20.410 回答