![](/img/trans.png)
[英]Java loading of resources fails when running executable maven jar file: unable to resolve “file:/…”
[英]java, loading of resources fails: unable to resolve file:/my-jar.jar!/folder/my-file
从我制作的 Java 应用程序中,我构建了相应的 jar 文件。
我复制jar文件中的所有资源。
例如,如果在src/main/resources
中存在以下资源/folder/my-file
,则将其复制到具有相同路径的 jar 中。
但是如果我执行 jar,资源的加载就会失败。
具体来说,它会像这样抛出一个 IOException
java.io.IOException: 无法将“file:/my-jar.jar!/folder/my-file”解析为类路径、文件名或 URL
我应该如何加载资源?
如果我在 eclipse 中运行 java 应用程序,一切正常,即使资源加载正确。
编辑:
我通过以下方式获取资源的路径:
MyClass.class.getResource("/folder/my-file").getPath();
资源的加载是由外部库完成的,我所要做的只是指定路径。
在这种情况下,我会尝试:
YourClass.class.getClassLoader().getResourceAsStream("folder/my-file");
这将独立于您的执行环境将InputStream
返回到您的资源。
如果你有这样的结构:
src/main/Begin.java
src/main/folder/icon.png
在 Begin.java 中试试这个:
Begin.getClass().getResource("/main/folder/icon.png");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.