Почему мой 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? Как вы думаете?
Есть ли другой способ, чтобы получить путь к папке ресурса?