我正在使用classpathresource
来获取文件的资源。在我的代码中,指定了路径,以便从那里选择文件。但是它取了一个同名文件,该文件已经存在于以前的jar中。
即
我已指定
ClassPathResource resource = new ClassPathResource("/sw/merlot/config/log4j.xml")
其中,
log4j.xml
是配置文件。但是它取了一个放在罐子里的
log4j.xml
-sw/merlot/lib/keyManager.jar!/log4j.xml
(两个
log4j.xml
都不相同[2个不同的配置文件])所以我改成
ClassPathResource resource = new ClassPathResource("file:///sw/merlot/config/log4j.xml")
但是它仍然无法正常工作。
我不知道我指定文件的方式是否正确?
我还尝试使用jar指定文件。
ClassPathResource resource = new ClassPathResource("jar:file:///sw/merlot/lib/keyManager111.jar!/log4j.xml")
其中
keyManager111.jar
包含我想要的log4j.xml
。但是它仍然没有从罐子里捡出来。在指定位置找不到其告诉文件。 最佳答案
关于什么:
ClassPathResource resource = new ClassPathResource("classpath:/sw/merlot/config/log4j.xml");
或是否在其他jar文件中:
ClassPathResource resource = new ClassPathResource("classpath*:/sw/merlot/config/log4j.xml");