Почему мой URI не является иерархическим? [Дубликат]

На этот вопрос уже есть ответ здесь:

Файл Jar Java: используйте ошибки ресурса: URI не является иерархическим 6 ответов

У меня есть файлы в папке ресурсов. Например, если мне нужно получить файл из папки ресурсов, я делаю так:

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-файл, используя,специалист:

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? Как вы думаете?

Есть ли другой способ, чтобы получить путь к папке ресурса?

Ответы на вопрос(3)

Ваш ответ на вопрос