Unser Projekt in Eclipse etwa zeigt die folgenden Ordner:Eclipse-: Export in .jar und umfassen Ressourcendateien (ANT)
application
- src
- JRE System Library [1.6]
- Referenced Libraries
- lib
- rsc
In unserem Projekt möchten wir Datei> Exportieren verwenden ...> Executable JAR
Nun, das funktioniert gut, mit einer Ausnahme: Wenn wir unsere application.jar ausführen wollen, müssen wir noch den Ordner rsc/am gleichen Ort wie application.jar kopieren.
In rsc/haben wir andere Ordner für die Trennung der verschiedenen Teile. Grundsätzlich , laden wir die Stücke mit dem Code (auch ein wenig verändert, aber der Pfad Stil ist korrekt)
strUrl = "file:rsc/properties/Constants.properties";
url = new URL(strUrl);
ImageIcon icon = new ImageIcon(url);
ich auf rsc /> Build Path> Verwendung als Quellordner der rechten Maustaste können.
Das funktioniert aber auch nicht, weil Eclipse den rsc-Ordner nicht automatisch in den bin/-folder kopiert. Und dann können wir es nicht mehr aus Terminal (nicht in Glas verpackt)
EDIT: Warum ist Eclipse nicht in der Lage, dies richtig zu behandeln? Warum hat es Probleme mit "verschachtelten" Ausgabeordnern? Auf der Registerkarte Source des Dialogfelds Build Path konnte ich problemlos den Ordner rsc/-folder mit dem Ausgabeordner auf bin/rsc/hinzufügen, aber es scheint nicht möglich, verschachtelte Ordner zu platzieren ...
BEARBEITEN 2: Jetzt konnte ich eine XML-Datei erstellen, um das Zeug mit Ameisen zu bauen, und schaffte es irgendwie, den rsc-Ordner direkt in das Glas einzuschließen. Läuft immer noch nicht wegen der gleichen Fehler. Muss ich wirklich die Ressourcenpfade überprüfen, ob sie in einer JAR sind oder nicht? Der Inhalt der JAR ist nun folgendes:
META-INF/
META-INF/MANIFEST.MF
configurator/
controller/
editor/
gui/
logic/
networking/
rsc/
rsc/gamesettings/
rsc/levels/
rsc/pics/
rsc/properties/
util/
aber Java hasst mich immer noch und wirft java.io.FileNotFoundException: rsc/properties/Constants.properties
mit einem stacktrace von rund 100 Zeilen.
jemand eine idee wie es geht? thx & grüße
Ja. Dies war die Lösung, aber das Markieren von rsc/as src-Ordner in Eclipse funktioniert nicht. Ein anderer Student hat mich gleich zur Lösung geführt. Das Problem war, dass wir Class.getResource ("...") benutzen mussten, den Pfad vorangestellt mit einem '/'. thx und grüße – Atmocreations
Sorry, was meinst du mit 'Class # getResource()'? Es gibt keine solche statische Methode in der Klassenklasse. – m0skit0
@ m0skit0 Die Methode ist nicht statisch, Entschuldigung für die Verwirrung. –