2013-09-30 18 views
5

Ich bin mit Java in Eclipse (Windows), und ich versuche zu verwenden:definieren Wurzel Classpath für class.getResource()

myClass.getResource("/image.jpg"), 

Während image.jpg im loacation „root existiert myProject/". Es gibt null zurück.

Ich habe viele andere Threads überprüft, aber keiner von ihnen hat mein Problem gelöst. So

Ich habe versucht, diese zu bewerten:

this.getClass().getResource("/").getPath(); 

und es zurück "myProject/build/classes".

So überprüfte ich die Konfiguration des Projektes für dieses Verzeichnis und fand genau die gleich dir unter

Java Build Path -> Quelle -> Standardausgabeordner

Meine Fragen sind:

  1. Warum ist das Standardverzeichnis meiner Ressourcen der Ausgabeordner?

  2. Wie erwähnt, möchte ich eine Ressource aus einem anderen Ordner bekommen, aber Versuche, "/../" aufzurufen, funktionieren nicht ... Wie kann ich dann andere Ressourcen laden, die nicht in meinem Klassenverzeichnis verschachtelt sind ? (Ich kann meinen Ausgang mich ändern, aber ich denke, es wird sehr hässlich sein ...)

Antwort

4

Sie sie in der Wurzel „src /“ Ordner ;-)

SRC/Ordner speichern müssen ist kompiliert zu BUILD/CLASSES /, also alles, was Sie in src/* eingeben, geht zu Klassen/*