log4J Not Finding属性文件由JAR使用

时间:2016-02-19 16:30:08

标签: java logging log4j

我们有一个从Windows命令提示符运行的JAR,其中包含log4J的以下参数:

-Dlog4.properties.file=C:/[folderName]/apps/[appName]/config/log4j.properties

即使 log4j.properties 文件确实在上面的路径中,log4j也无法找到它,因此无法正确配置,并且运行带参数-Dlog4j.debug的命令并没有&# 39;给我更多信息:

log4j: Trying to find [log4j.xml] using context classloader sun.misc.Launcher$Ap pClassLoader@92e78c. log4j: Trying to find [log4j.xml] using sun.misc.Launcher$AppClassLoader@92e78c class loader. log4j: Trying to find [log4j.xml] using ClassLoader.getSystemResource(). log4j: Trying to find [log4j.properties] using context classloader sun.misc.Laun cher$AppClassLoader@92e78c. log4j: Trying to find [log4j.properties] using sun.misc.Launcher$AppClassLoader@ 92e78c class loader. log4j: Trying to find [log4j.properties] using ClassLoader.getSystemResource(). log4j: Could not find resource: [null]. log4j:WARN No appenders could be found for logger (com.xxx.yyy.appName.Main). log4j:WARN Please initialize the log4j system properly.

我觉得自己缺少基本的,所以我对这些想法持开放态度......

3 个答案:

答案 0 :(得分:0)

来自short introduction to log4j 尝试使用file:作为路径上的前缀,但前提是您的属性不在类路径中。该属性也称为log4j.configuration,因此您的JVM参数应具有以下形式:
-Dlog4.configuration=file:/c:/[...]/log4j.properties

答案 1 :(得分:0)

尝试此参数:

10

答案 2 :(得分:0)

看起来我的问题是由于Java版本不匹配造成的。有问题的应用程序目前只运行1.5,我相应地构建了JAR。但其中一个依赖项(即另一个JAR)是用1.6构建的。用1.5构建了另一个JAR,问题就消失了。