小编典典

外部log4j.xml文件

java

我试图在jar外部的文件系统上运行带有log4j.xml文件的jar,如下所示:

java -jar MyJarName.jar -cp=/opt/companyName/pathToJar/ log4j.configuration=log4j.xml argToJar1 argToJar2

我也尝试过:

java -jar MyJarName.jar -cp=/opt/companyName/pathToJar/ log4j.configuration=/opt/companyName/pathToJar/log4j.xml argToJar1 argToJar2

log4j.xml是文件,与jar(/ opt / companyName / pathToJar /)位于同一目录中,但是我仍然收到标准警告消息:

log4j:WARN No appenders could be found for logger (org.apache.axis.i18n.ProjectResourceBundle).
log4j:WARN Please initialize the log4j system properly.

是否可以将配置文件放在jar之外,还是必须将其与jar打包在一起?

TIA


阅读 218

收藏
2020-10-18

共2个答案

小编典典

使用-jar开关启动可执行的jar文件时,将从jar文件的清单中获取类路径。-cp如果给出该开关,则将被忽略。

eff Storey的答案将是最简单的解决方案。另外,您可以Class- Path在jar文件的manifest中添加一个属性。

编辑 尝试启用log4j调试,并建立指向log4j.xml标准URL 的路径。例如:

java -Dlog4j.debug -Dlog4j.configuration=file:/path/to/log4j.xml -jar ...
2020-10-18
小编典典

你有没有尝试过 java -Dlog4j.configuration=/path/to/log4j.xml -jar <rest-of-args>

2020-10-19