JAR-Archiv erstellen

chriss_2oo4

Erfahrenes Mitglied
Hi,

die Suchfunktion habe ich schon verwendet.

Ich habe ein Problem mit der Erstellung eines JAR-Archivs. Normalerweise ist das mit Eclipse recht einfach.

Bei meinem aktuellem Projekt funktioniert es leider nicht ganz. Ich exportiere das JAR-Archiv und wenn ich es ausführe wird lediglich der Login-Screen meiner Anwendung angezeigt. Nach dem Login tut sich nichts mehr. Also das neue Frame wird nicht mehr angezeigt.

Vorgehensweise:
1. in der main wird ein login erzeugt Login (JDialog) ->
2. ist das login ok, wird in der Klasse LoginFrame eine neue Instanz der Klasse MainFrame (JFrame) erstellt und angezeigt.
3. Die restlichen Klassen und Frames werden dann in der Klasse MainFrame erzeugt und verwaltet.

(Ist diese Vorgehensweise überhaupt ein guter Programmierstil?)

Ist es möglich dass es an den externen Librarys (JDOM, TableLayout, etc.) liegen könnte, die ich in mein Projekt eingebunden habe, oder händelt das Eclipse automatisch? Weil das Login-Frame greift nicht auf diese Librays zu, das MainFrame jedoch schon.

Des Weiteren habe ich Dateien (z. B. XML-Dateien), die sich im Unterverzeichnis "data" des "bin" Verzeichnisses befinden. Wie bekomme ich die Dateien mit in das JAR-Archiv?

lg Chriss
 
Moin,

im Falle des Nichterscheinens Deines Main-Frame sollte es doch eine Exception hageln?
Zumindest müsste die Konsole ja irgendwas ausgeben.

An Hand Deiner Erklärung lässt sich nur vermuten - wie Du bereits gefolgert hast - dass die libs nicht gefunden und demnach nicht verwendet werden können.

(Ist diese Vorgehensweise überhaupt ein guter Programmierstil?)
Gute ist wie immer relativ, aber an und für sich ist dagegen nichts einzuwenden.

Zu den XML-Dateien verstehe ich das Problem nicht ganz. Diese liegen doch im Projekt-Ordner oder nicht? Dann kannst Du sie doch ohne Umwege mit in das Jar integrieren.

Gruß,
Xan
 
Hi,

erstmal Danke für deine Antwort.

Wenn ich die Anwendung in Eclipse starte, dann funktioiert es einwandfrei, nur eben nicht wenn ich ein jar draus mache -> und wenn ich das jar ausführe habe ich leider keine konsole.

Achso, kann ich die XML-Dateien mit in das Jar packen und die anwendung kann auf die xml-dateien zugreifen, auch wenn sie im jar verpackt sind?

lg chriss
 
Jar starten aus der Konsole:
java -jar deinJar.jar

Die anderen Libraries in den Ordner lib legen und im Classpath mit angeben
java -cp lib/lib1.jar;lib/lib2.jar deinJar.jar

Willst du von den XML Dateien nur lesen oder auch schreiben. Wenn du auch schreiben willst gehören sie nicht ins Jar.
 
Hi,

nochmals danke für die Antwort!

Möchte auch schreiben, desshalb hab ich mich gefrgagt wie das denn funktionieren soll im JAR?

Kann ich dann trotzdem noch relativ zum Pfad, in dem sich die JAR-Datei befindet, auch Daten zugreifen?

Lg Chriss
 
Ja genau :)

Du legst die XML Dateien einfach neben das Jar. Wenn du das Programm aus dem Verzeichnis startest in dem dein Jar liegt, kannst du auch so direkt auf die XML Dateien zugreifen.

File f = new File("dein.xml");
würde z.B. gefunden werden.
 
Zurück