Spring返回FileSystemResource而不是ClassPathResource

Spring返回FileSystemResource而不是ClassPathResource,spring,Spring,我试图检索类路径中的文件列表,但是Spring返回给我的是FileSystemResources的Resource[],而不是ClassPathResources。下面是代码的样子: PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); Resource [] resources = resolver.getResources("classpath*:my/package

我试图检索类路径中的文件列表,但是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

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

您为什么会在意?为什么您的代码依赖于
类路径:
资源,而不仅仅是使用常规
资源
界面?您得到的是:“文件:/C:/eclipse/../my/package/one.xml”,但您从哪里得到这个URL?返回资源的实现类型是什么?因为您可以在URL中使用前缀file:的类路径资源。关键字classpath只适用于spring。