Java 将log4j.xml指定为文件

Java 将log4j.xml指定为文件,java,jar,log4j,Java,Jar,Log4j,当我指定文件的路径时,即file:///sw/merlot/config/log4j.xml(它不在jar中),它不是从该路径获取log4j.xml,而是获取存储在jar中的默认log4j.xml 如何指定该路径,使其从指定路径获取log4j.xml,而不是从jar获取它?使用 java -Dlog4j.configuration=/home/user/path/to/your/log4j.xml -jar yourJar.jar 在哪里指定该路径?在ClassPathResource的代码

当我指定文件的路径时,即
file:///sw/merlot/config/log4j.xml
(它不在jar中),它不是从该路径获取
log4j.xml
,而是获取存储在jar中的默认
log4j.xml

如何指定该路径,使其从指定路径获取
log4j.xml
,而不是从jar获取它?

使用

java -Dlog4j.configuration=/home/user/path/to/your/log4j.xml -jar yourJar.jar 

在哪里指定该路径?在ClassPathResource的代码中,您可能希望查看Log4J默认初始化过程。我回答了这个问题。添加代码示例将帮助您获得更好的答案。这有用吗??ClassPathResource=newclassPathResource(“文件:/sw/merlot/config/log4j.xml”);我使用了FileSystemResource。当我使用classpathresource时,它只在该类路径中搜索。但它不在该类路径中。我使用了FileSystemResource,这将搜索整个文件系统。谢谢大家。。。。
DOMConfigurator.configure("file:///sw/merlot/config/log4j.xml");
Logger log = Logger.getLogger(YourClass.class);