当前位置: 首页 > 面试题库 >

spring.xml在类路径中的打印路径

淳于熙云
2023-03-14
问题内容

我在测试类中使用以下代码,以将所有spring.xml文件加载到classpath和application-content.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文件?


问题答案:

试试这个:

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,但是它应该只能用于有限的诊断目的。



 类似资料:
  • 我正在开发一个Jenkins插件,但我有几个问题,我认为可能是由于插件的类路径中丢失了一个jar,尽管它在插件的WEB-INF/lib目录中。 通常,我会在Java中使用以下代码来打印类路径,但这似乎不适用于Jenkins。 当我执行插件时,上面的代码会导致一个异常与消息 打印Jenkins插件使用的类路径的最佳方式是什么?

  • 例子 $ gcc -print-file-name=libc.a /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libc.a 技巧 如上所示,使用-print-file-name选项就可以显示出gcc究竟会连接哪个libc库了。 详情参见 gcc手册

  • 下面的函数打印所有的子路径。是否可以只显示完整的路径,即A->B->C(包含以下所需的输出)。

  • 例子 $ gcc -v foo.c ... ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../x86_64-linux-gnu/include" #incl

  • 我正在尝试打印一个Maze中的解决方案路径。每个单元格都有一个父单元格,我们可以从父单元格到该单元格。我用下面的代码打印路径。 2,7=1,7//的父级,如您所见,我们现在应该打印1,7,但它跳过了1,7而转到1,6 1,6=1,5的父代 1,5=2,5//的父级跳过2,5直接转到2,3 2,4=2,3的母体 2,3=1,3的父代 1,0=2,0的父级 代码有什么问题?

  • 我不确定为什么“which java”和“whereis java”路径不正确。我尝试编辑~/.bash_profile和/etc/environment,但没有帮助。所需路径是在下面的“echo$java_home”中看到的,但在“which java”中没有反映相同的路径 以下是我在CentOS6.4中得到的信息: 哪个java java版本 java版本“1.7.0_45” JAVA(TM)