在classpath中打印spring.xml的路径

时间:2012-03-05 08:37:05

标签: java spring

我在我的测试类中使用以下代码,在classpath和application-content.xml文件中加载所有spring.xml文件。

@Override
protected String[] getConfigLocations() {
    return new String[] {
        "classpath*:META-INF/spring.xml", "application-context.xml"};
}

有没有办法在classpath中打印所有“spring.xml”文件的路径?我有许多jar文件,其中包含spring.xml。但是,运行测试可能不需要其中一些。有没有办法打印它们(jar文件或路径),还删除了不需要编程的spring.xml文件?

1 个答案:

答案 0 :(得分:3)

试试这个:

ResourcePatternResolver patternResolver = new PathMatchingResourcePatternResolver(new DefaultResourceLoader());
Resource[] resources = patternResolver.getResources("classpath*:META-INF/spring.xml");

for(Resource resource : resources) {
   System.out.println(resource.getDescription());
}

它有点不足,并使用非公开的Spring API,但它应该用于有限的诊断目的。