gpt4 book ai didi

java - jar无法访问资源文件夹

转载 作者:行者123 更新时间:2023-12-01 22:52:57 25 4
gpt4 key购买 nike

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

出现 bug 的代码行:

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

最佳答案

那么您想获取类路径资源文件夹中的所有文件吗?我发现this example :

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/"))); 测试了它,它有效。但你的文件夹必须位于类路径上!

关于java - jar无法访问资源文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58451755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com