"URI ist nicht hierarchisch" beim laden von Ressourcen

Brauche ich die URI einer Datei (die, die ich in das resources-Verzeichnis). Wenn ich

MyClass.class.getClassLoader().getResource(resource)

Bekomme ich

java.lang.IllegalArgumentException: URI is not hierarchical

Sonst, wenn ich ClassLoader.getSystemResource(resource) es gibt null.

  • Können Sie die URI, die Sie verwenden?
  • Datei:/Users/user1/Library/Caches/IntelliJIdea14/plugins-sandbox/plugins/plugin/classes/getrennt.png Das ist die URI bekomme ich beim ausführen aus der IDE. Es läuft, wie es sollte. Aber wenn ich Generiere mir ein Glas und versuchen Sie es zu starten, es funktioniert nicht.
  • Versuchen new File(MyClass.class.getResource(resource).getPath()).toURI() oder new File(MyClass.class.getClassLoader().getResource(resource).getPath()).toURI()
  • Es sollte relativ zu der oberen Ebene der jar-Datei, nicht ein absoluter. Ich bin mir auch nicht sicher, dass Sie ir müssen die "file:" - prefix.
  • Siehe Verwandte q stackoverflow.com/questions/573679/...
  • es funktioniert, aber es nicht in das image laden, wenn die Ausführung unter einem Glas.
  • sollten Sie verwenden getResourceAsStream()
  • Ich kann es nicht. Wie konvertiere ich einen inputstream auf eine Datei/uri?

InformationsquelleAutor user2733845 | 2014-08-23
Schreibe einen Kommentar