SWT Programm ausserhalb von Eclipse laufen lassen

meisteryoda

Mitglied
Hi zusammen.

Ich würde gerne mein SWT Programm auch auf anderen rechnern bzw ausserhalb von eclipse laufen lassen.
Allerdings findet er wenn ich meine klassen in eine Jar packe und die dann ausführen will natürlich die swtklassen nicht.
Fehlermeldung:

D:\abc>java -jar D:\abc\abc.jar
Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/swt/widge
ts/Display
at core.main(core.java:10)


Was muss ich machen damit diese Gefunden werden ?
 
Hallo!

Du musst das passende swt.jar auch in den Classpath legen...
Also java -cp .;./lib/swt.jar -jar foo.jar
Weiterhin musst du die entsprechende SWT dll entweder so plazieren, dass sie vom Java Launcher gefunden werden kann. Entweder setzt du den java.library.path entsprechend oder du legst es in ein Verzeichnis dass im PATH steht ...(Windows\System32).
Siehe auch hier: http://www.inonit.com/cygwin/jni/helloWorld/load.html

Gruss Tom
 
Also meine erste frage:

Was macht das:

-cp .;./lib/swt.jar

genau.

Die zweite wo finde ich dir richtige swt.jar .
Die einzige die ich hab liegt bei Azureus bei, im eclipse ordner finde ich allerdings nix.

EDIT: Schon gefunden.Allerdings die erste frage bleibt und es laeuft weiterhin nicht
 
Zuletzt bearbeitet:
Hallo!

Code:
 -cp .;./lib/swt.jar
Setzt den Classpath auf das aktuelle Verzeichnis und das swt.jar im lib Verzeichnis relativ zum aktuellen Verzeichnis.

D:\eclipse\3.1.2\eclipse\plugins -> org.eclipse.swt.win32.win32.x86_3.1.2.jar
In dem jar findest du dann auch die entsprechende dll...

Gruss Tom
 
achso also das libverzeichniss dass ich in meinem laufprdner anlege und dann die dlls und die swt.jar reinpacke ?:p


habs mittlerweile vernuenftig reingestellt und aufgerufen, allerdings hab ich weiterhin genau den selben fehler =(

mein aufruf meiner abc.jar sieht jetzt so aus:

java -cp .;./lib/swt.jar -jar meineJAR.jar
 
Zuletzt bearbeitet:
Soo,
habe mir nun das fjep.fatjar plugin für eclipse besorgt, welches alle benötigten bibliotheken mit in die eigene jar-datei exportiert.
jetzt laeuft es, wenn man die passende dll ins laufverzeichniss packt.

so weit so gut.
allerdings ist die frage warum das vorher nie lief bzw was fehlte oder wo der fehler war.
 
Hallo,

ich denke ich habe ähnliches Problem: ich will aus Eclipse ein Projekt in ein jar exportiere, mittleirweile habe ich auch fehlende libs in den classpath hinzugefügt.

Nun erhalte ich aber bei der initialisierung meines ersten Panels folgenden Fehler:

HTML:
Caused by: java.lang.ExceptionInInitializerError
	at de.uni_lueneburg.beergame.ui.InitialPanel.initGUI(InitialPanel.java:194)
	at de.uni_lueneburg.beergame.ui.InitialPanel.<init>(InitialPanel.java:87)
	at de.uni_lueneburg.beergame.controller.ApplicationController.<init>(ApplicationController.java:51)
	at de.uni_lueneburg.beergame.controller.ApplicationController.getInstance(ApplicationController.java:122)
	at de.uni_lueneburg.beergame.controller.ApplicationController.main(ApplicationController.java:110)

Kann mir dazu einer ne Hilfestellung geben? Ich habe das jdk und jre jeweils 1.5 - sonst nichts außergewöhnliches....

danke an alle, brauche echt dringend Hilfe.

cu 2Rock
 
Zurück