7 Stimmen

Eclipse: Export nach .jar UND Einbindung von Ressourcendateien (ANT)

Unser Projekt in eclipse zeigt ungefähr die folgenden Ordner:

application
    - src
    - JRE System Library [1.6]
    - Referenced Libraries
    - lib
    - rsc

In unserem Projekt möchten wir die Funktion Datei > Exportieren... > Ausführbares JAR

Nun, das funktioniert gut, mit einigen Ausnahmen: Wenn wir unsere application.jar ausführen wollen, müssen wir noch den Ordner rsc/ an denselben Ort wie application.jar kopieren.

In rsc/ haben wir weitere Ordner zur Trennung der verschiedenen Teile. Grundsätzlich laden wir die Teile mit dem Code (etwas abgewandelt, aber der Pfadstil ist korrekt)

strUrl = "file:rsc/properties/Constants.properties";
url = new URL(strUrl);
ImageIcon icon = new ImageIcon(url);

Ich konnte mit der rechten Maustaste auf rsc/ > Build Path > Use as Source Folder klicken.

Aber auch das funktioniert nicht, weil eclipse den rsc-Ordner nicht automatisch in den bin/--Ordner kopiert. Und dann können wir es nicht mehr vom Terminal aus starten (nicht in jar verpackt)

EDIT : Warum kann eclipse dies nicht richtig handhaben? Warum hat es Probleme mit "verschachtelten" Ausgabeordnern? In der Registerkarte "Source" des Dialogfelds "Build Path" konnte ich den Ordner "rsc/-" problemlos hinzufügen, wobei der Ausgabeordner auf "bin/rsc/" gesetzt war, aber es scheint nicht in der Lage zu sein, verschachtelte Ordner einzufügen...


EDIT 2 : Jetzt habe ich es geschafft, eine xml-Datei zu erstellen, um das Zeug mit Ant zu bauen, und irgendwie geschafft, den rsc-Ordner direkt in das jar einzuschließen. Trotzdem läuft es nicht, weil die gleichen Fehler auftreten. Muss ich wirklich die Ressourcenpfade überprüfen, ob sie in einem JAR enthalten sind oder nicht? Der Inhalt des JARs ist jetzt der folgende:

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 etwa 100 Zeilen.


Hat jemand eine Idee, wie man das macht? Danke und herzliche Grüße

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X