Spring返回FileSystemResource而不是ClassPathResource

时间:2012-05-04 18:12:59

标签: spring

我正在尝试检索类路径中的文件列表,但Spring返回的是FileSystemResources的Resource []而不是ClassPathResources。这是代码的样子:

PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
Resource [] resources = resolver.getResources("classpath*:my/package/**/*.xml");

我也试过这个:

context.getResources("classpath*:my/package/**/*.xml");

返回的数组是一堆绝对路径file:// URL,当我真正想要的是classpath:URL。我究竟做错了什么?

这是我最终要构建的内容:

/my/package/one.xml
/my/package/two.xml

相反,我得到了这个:

file:/C:/eclipse/.../my/package/one.xml

1 个答案:

答案 0 :(得分:0)

FileSystemResource和ClassPathResource都返回绝对资源路径。 FileSystemResource在文件系统C:/eclipse/.../my/package/one.xml中查找它。 ClassPathResource在/WEB-INF/classes内的类路径文件中查找资源。我不明白为什么你需要返回classpath:path,但你仍然可以通过子串你的绝对路径来获得它。