Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从类路径项获取文件列表_Java_Classpath - Fatal编程技术网

Java 从类路径项获取文件列表

Java 从类路径项获取文件列表,java,classpath,Java,Classpath,我在应用程序中遇到了一个问题,无法列出类路径条目中的所有资源 Enumeration<URL> resources = Thread.currentThread().getContextClassLoader().getResources("src/main/resources/*.*"); System.out.println(resources); while (resources.hasMoreElements()) { URL url = resources.nextEl

我在应用程序中遇到了一个问题,无法列出类路径条目中的所有资源

Enumeration<URL> resources = Thread.currentThread().getContextClassLoader().getResources("src/main/resources/*.*");
System.out.println(resources);
while (resources.hasMoreElements()) {
  URL url = resources.nextElement();
  //Here I am getting an empty URL list.Please help.
  System.out.println(url);
}

我认为这些被读取的资源应该放在“META-INF”文件夹中:

src/main/java/META-INF

然后,您可以阅读如下内容,最好比我更具体地指定您的文件类型:

ClassLoader cl=this.getClass.getClassLoader; 枚举资源=cl.getResourcesMETA-INF; 而resources.hasMoreElements{ URL=resources.nextElement; System.out.printlnurl;
}有两个问题:

src/main/resources/*.*不是ClassLoader.getResources的有效语法 路径必须是完整路径,例如src/main/resources 为什么要尝试从src/main/resources目录加载类? 它假定资源位于这样的目录中,但这仅适用于开发目的 编译后,资源将存储在不同的目录中。默认情况下,Maven会将其放在顶级目录中,而您的程序将无法正常工作
嗯,你确定可以从运行代码的地方访问src文件夹吗?用绝对路径试试看我的类路径条目不回答问题。