【发布时间】:2014-01-17 16:05:42
【问题描述】:
我的问题是,当我使用 maven(使用 shade 插件)构建一个可执行 jar 并尝试运行该 jar 时,我收到一个错误:
java.io.IOException: Unable to resolve "file:/C:/Users/name/Desktop/nameofjar-SNAPSHOT.jar!/path/to/file.gz
当我在 Eclipse 中运行主程序时,GUI 会正确加载资源文件。我打印了文件目录的输出:
Loading parser from serialized file /C:/Users/name/git/guis/target/classes/path/to/file.gz
IOException 发生在这行代码:
URL url = SentenceParser.class.getResource("file.gz");
props.setProperty("file", url.getPath());
file.gz 位于 src/main/resources/path/to/file.gz,类定义在 src/main/java/path/to 的 java src 目录中。
经过研究,我的问题几乎和这个人的问题一模一样:java, loading of resources fails: unable to resolve file:/my-jar.jar!/folder/my-file。他们声明他们必须具有文件的路径才能放入属性文件。我也需要文件的路径,并且无法将资源作为流检索。我需要该路径才能将该路径添加到属性文件,然后由外部库读取。
【问题讨论】:
-
如果您阅读了我的完整回复,我已经说过了。我正在寻找替代答案。
标签: java eclipse maven resources