我在資源文件夾中有文件。例如,如果我需要從資源文件夾中獲取文件,我做這樣的:爲什麼我的URI不分層?
File myFile= new File(MyClass.class.getResource(/myFile.jpg).toURI());
System.out.println(MyClass.class.getResource(/myFile.jpg).getPath());
我測試和工作一切!
的路徑是
/D:/java/projects/.../classes/X/Y/Z/myFile.jpg
但,如果我創建jar文件,使用, Maven的:
mvn package
...,然後開始我的應用程序:
java -jar MyJar.jar
我有以下錯誤:
Exception in thread "Thread-4" java.lang.RuntimeException: ხელმოწერის განხორციელება შეუძლებელია
Caused by: java.lang.IllegalArgumentException: URI is not hierarchical
at java.io.File.<init>(File.java:363)
... 和文件的路徑爲:
file:/D:/java/projects/.../target/MyJar.jar!/X/Y/Z/myFile.jpg
此異常時,我嘗試從資源文件夾文件發生。在這條線上。爲什麼?爲什麼在JAR文件中存在這個問題?你怎麼看?
是否有另一種方法獲取資源文件夾路徑?
你可以看看這個:http://stackoverflow.com/questions/10144210/java-jar-file-use-resource-errors-uri-is-not-hierarchical和接受的答案。 – cyroxx