Por que meu URI não é hierárquico? [duplicado]

Esta pergunta já tem uma resposta aqui:

Arquivo Java Jar: use erros de recurso: o URI não é hierárquico 6 respostas

Eu tenho arquivos na pasta de recursos. Por exemplo, se eu precisar obter o arquivo da pasta de recursos, faça o seguinte:

File myFile= new File(MyClass.class.getResource(/myFile.jpg).toURI());             
System.out.println(MyClass.class.getResource(/myFile.jpg).getPath());

Eu tenhotestado e tudotrabalho!

O caminho é

/D:/java/projects/.../classes/X/Y/Z/myFile.jpg

Mas, Se eu criar um arquivo jar, usando,Maven:

mvn package

... e inicie meu aplicativo:

java -jar MyJar.jar

Eu tenho o seguinte erro:

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)

...e o caminho do arquivo é:

file:/D:/java/projects/.../target/MyJar.jar!/X/Y/Z/myFile.jpg

Essa exceção acontece quando tento obter o arquivo da pasta de recursos. Nesta linha. Por quê? Por que ter esse problema no arquivo JAR? O que você acha?

Existe outra maneira de obter o caminho da pasta de recursos?

questionAnswers(3)

yourAnswerToTheQuestion