繁体   English   中英

log4j喜欢它在jar文件中的属性吗?

[英]log4j likes its properties in a jar file?

我有一个Java应用程序,可以直接从可执行jar文件在Linux上执行

java -cp .:./lib -Duser.timezone=GMT -Dlog4j.debug -jar programName.jar

该程序使用许多其他的jar文件,它们全部位于一个目录中,并包含4个属性文件,所有这些文件均位于另一目录(当前目录)中。 这两个目录都包含在CLASSPATH

很简单吧。

只是Log4j无法找到log4j.properties 我设法使其找到log4j.properties的唯一方法是将其包含在programName.jar

这不是我想要的,我想使用与所有其他属性文件都位于同一目录中的log4j.properties来拥有它,它们位于CLASSPATH ,并且可以按您期望的方式找到。

其他正在使用的jar文件是:

  • jdom-2.0.5.jar
  • log4j-1.2.17.jar
  • ojdbc7.jar
  • quartz-2.2.1.jar
  • slf4j-api-1.7.7.jar
  • slf4j-log4j12-1.7.7.jar

我想知道slf4j-log4j12-1.7.7.jar是否进行某些配置,以防止log4j在查找属性文件时扫描CLASSPATH 我的代码不包含旨在指定属性文件位置的任何指令。

我还没有尝试过不带-jar选项的程序,接下来我将尝试。

到目前为止,这还响吗?

向jvm添加一个参数( log4j.configuration )。 例如:

java -cp .:./lib -Dlog4j.configuration=file:log4j.properties -Duser.timezone=GMT ...

您可能希望看到此答案以获取更多选项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM