ausführbares JAR-File

javaner08

Aktives Mitglied
Hallo,

wenn ich meine JAVA-Anwendung in ein Jar-File exportiere, dann erscheint nach dem Start die Fehlermeldung "NoClassDefFoundError : org/eclipse/swt/widgets/Listener" ... also es handelt sich
um eine SWT-Anwendung.
Aber wie bringe ich eclipse bei, dass er beim Exportieren in das Jar-File auch den ganzen SWT-Kram
mit inkludieren soll ?
Im Build-Path der Anwendung sind die SWT-Jars bereits eingetragen.
Wo muss ich noch welche Eintragungen durchführen ?
 
Zuletzt bearbeitet von einem Moderator:
So sieht meine Manifest-Datei jetzt aus :

Java:
Manifest-Version: 1.0
Sealed: true
Main-Class: swt.TestPGM
Class-Path: D:\eclipse-3.4\plugins\org.eclipse.swt.win32.win32.x86_3.4.1.v3452b.jar 
            D:\eclipse-3.4\plugins\org.eclipse.swt_3.4.2.v3452b.jar

es erscheint aber immer noch dieselbe Fehlermeldung.

Angenommen es würde funktionieren : Dann wären doch die absoluten Pfad-Angaben kein Problem, denn
darüber weiß eclipse ja nur, wo die entsprechenden jar-Files zum Zusammenbauen des ausführbaren
jars her genommen werden; Im ausführbaren jar selbst sind diese absoluten Pfade doch dann nicht
enthalten, oder ?

Ich habe mal in alten Workspaces bei mir nachgeschaut, wo das Erstellen solcher ausführbaren jar's
noch reibungslos geklappt hat und habe versucht, wo denn jetzt in meinem neuen Workspace bzw.
neuen Projekt die Unterschiede liegen.
Das einzige, was mir aufgefallen ist, ist dass ein Ordner namens "Referenced Libraries" in meinem neuen
Projekt bzw. Workspace fehlt.
Könnten diese Probleme damit zusammen hängen ?
Wenn JA : Wie erzeuge ich noch gleich diesen Referenced Libraries-Ordner ? (Hab' schon fast seit zwei Jahren
kein neues Projekt mehr angelegt, sondern nur bestehende gepflegt).
Zur Zeit liegen die SWT-Jar einfach direkt unterhalb des Projekt-Ordners ohne einen "Referenced Libraries-Ordner"...

Bin für jede Hilfe sehr dankbar.
 
Wenn ich rechts auf das SWT-Jar klicke, dann erscheint keine Option "Add to Build-Path", sondern nur "Remove from Buildpath". Demnach war die SWT-Jar also schon im Buildpath enthalten.
 
Ich habe jetzt noch einmal ein komplett neues Projekt innerhalb deselben Workspaces erstellt.
Dort erscheint jetzt auch alles in "Referenced Library", so wie man er erwartet ... soweit so gut.

Dann habe ich meine Sourcen in das neue Projekt kopiert, unter eclipse selbst läuft auch erwartungsgemäß alles gut, aber
wenn ich das jar-File exportiere kommt wieder dieselbe Fehlermeldung. Alles, was im eclipse-Projekt in "Referenced Library" steht, wird nicht gefunden, wenn ich das jar-File direkt im Explorer aufrufe ("NoClassDefFoundError").

d.h. also die Hauptklasse, den Startpunkt, den ich im Manifest eintrage, wird gefunden, nur eben nichts, was das Programm benutzt und in Referenced Library steht.

Wie bringe ich eclipse dazu, den kompletten Referenced Libraray Ordner mit einzubeziehen, wenn ich diese Export-Funktion ausführe ?
 

Zurück
Oben