jar无法访问资源文件夹

在我的项目中,我访问 eclipse 中的文件夹,/src/main/ressources/Mylib它运行良好,没有任何问题,但是当我将项目导出到 .jar 文件时,它不起作用。


该错误的代码行:


File fi = new File(Testp.class.getClassLoader().getResource("Mylib/").getFile());

它给出了这个错误:


Exception in thread "main" java.lang.reflect.InvocationTargetException

    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.base/java.lang.reflect.Method.invoke(Method.java:566)

    at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:61)

Caused by: java.lang.NullPointerException

    at com.myproject.Testp.main(Testp.java:73)

    ... 5 more


元芳怎么了
浏览 103回答 1
1回答

慕沐林林

那么您想获取类路径资源文件夹中的所有文件吗?我找到了这个例子:private static File[] getResourceFolderFiles (String folder) {    ClassLoader loader = Thread.currentThread().getContextClassLoader();    URL url = loader.getResource(folder);    String path = url.getPath();    return new File(path).listFiles();}我测试过它并且System.out.println(Arrays.toString(getResourceFolderFiles("foldername/")));它有效。但你的文件夹必须位于类路径上!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java