[英]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.