我有一些获取资源的代码,如下所示:
public static final String CONVERTER_FILE = "META-INF/jumbo-converters";
static {
ClassLoader ldr = Thread.currentThread().getContextClassLoader();
Enumeration<URL> e = ldr.getResources(CONVERTER_FILE);
但是当我在 JUnit 测试 (Java 6) 中运行它时,枚举为空。项目中有多个子项目,其文件如下:
myProject/mySubProject/src/main/resources/META-INF/jumbo-converters
我相信它在过去是有效的。 getResources
是做什么的?以及如何调试其当前的故障?
最佳答案
要使用ClassLoader.getResources()
加载文件,必须在类路径中找到它。解决方案是确保 META-INF
的父文件夹位于类路径中。
关于java - maven项目中的Classloader.getResources()返回一个空的Enumeration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8683193/