我使用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
。但它仍然没有从罐子里挑选。它的告知文件未在指定位置找到。
答案 0 :(得分:2)
怎么样:
ClassPathResource resource = new ClassPathResource("classpath:/sw/merlot/config/log4j.xml");
或者如果它位于不同的jar文件中:
ClassPathResource resource = new ClassPathResource("classpath*:/sw/merlot/config/log4j.xml");