SWT java.lang.NoClassDefFoundError:

Status
Nicht offen für weitere Antworten.

tm001

Mitglied
Ich habe mit Eclipse ein SWT Programm geschrieben. Es läuft auch problemlos in Eclipse.

Damit es auch außerhalb von Eclipse läuft, habe ich über die Export-Funktion eine build.xml erzeugt. Anschließend hat Ant die Dateien erfolgreich kompliert. Wenn ich die nun die Starter-Klasse mit
Code:
java StartKlasse
aufrufe, bekomme ich die Meldung:

Code:
Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/swt/widgets/Layout

Woran könnte es liegen? Es müsste doch eigentlich reichen, wenn der Pfad zum swt.jar in der build.xml steht?

Code:
...
<property name="org.eclipse.swt.location" value="C:/Dokumente und Einstellungen/Thomas/Eigene Dateien/Eclipse Projekte/org.eclipse.swt"/>
...
<path id="org.eclipse.swt.classpath">
        <pathelement location="${org.eclipse.swt.location}/."/>
        <pathelement location="${org.eclipse.swt.location}/swt.jar"/>
    </path>
 

thE_29

Top Contributor
Wenn er es kompilieren kann, hat das nix damit zum tun, ob er die externen Libs auch in dein neues Jar File hängt!


Compilieren in Eclipse (im classpath sind die externen SWT.jars)

Compilieren/erstellen mit ant (im xml File sind die externen SWT.jars angegeben


Jar Datei laufen lassen (nirgends ist wo das SWT.jar angegeben)

Und das is das Prob!

Entweder du hängst es in den Classpath oder du hängst die 2 Jars in eines! (bsp findest in den FAQ bei Jar Dateien ineinader packen)

oder aber auch Illuvatar hat einen Jar Create geschrieben, der eigentlich recht gut läuft (glaube ich)

Ich mache nix über ant, deswegen kann ich dir net sagen, ob man über ANT auch sagen kann das er dir die jar datei mit reinpackt!
 

SamHotte

Top Contributor
Möglicherweise musst du auch noch der JVM den Library-Path sagen, bspw. über den Aufruf in einer Batch-Datei:
Code:
javaw -Djava.library.path=. -cp swt.jar;. MeineMainKlasse
 

tm001

Mitglied
muss ich erst ein .jar file erstellen?

ich hab jetzt mal auf der kommandozeile kompiliert:

Code:
javac -cp ../org.eclipse.swt/swt.jar MeineKlasse.java

Dann müsste er doch die Datei swt.jar mit "reinkompilieren" oder nicht? Denk ich mir mal so... Immerhin findet er ja die Klassen (wenn ich den Klassen-Pfad falsch schreibe, meckert der Kompiler). Und in eclipse läuft auch alles...

Doch der Aufruf der Klasse schlägt wie oben fehl.

Vielleicht ist der Fehler ja auch ganz dumm, keine Ahnung...
 

thE_29

Top Contributor
Er kompiliert es aber nicht mit rein!

Dann wäre die Sinnhaftigkeit von Librarys ja nicht gegeben!

Libs sind dafür da, das sie aussenstehend wo rumliegen.

Dh, man kann die Libs dann ändern, ohne das Programm zu ändern. (siehe java allg. die ganzen java imports wie javax.swing.* oder dgl, werden ja auch net mit reinkompiliert, nur liegen die halt im standard classpath und deswegen werden sie auch gefunden!)

Er benutzt beim kompilieren jetzt die Klassen die du mitangegeben hast!

javac -cp swt.jar MeineKlasse.java

java -cp swt.jar;.\ MeineKlasse

Dann sollte es gehen!


Er kompiliert immer nur das was du hinten angibst (also Klasse.java)

Dadurch entsteht eben eine Klasse.class was aber nur der übersetzte Code von Klasse ist und net alle Abhängigkeiten wurden mitreinkompiliert (sonst hättest ja zB den kompletten Java Stamm auch drinnen?!?)


Dafür gibt es ja die Jars wo man mehere .class Dateien zusammenfügen!
 

tm001

Mitglied
Wunderbar das klappt! Vielen Dank für eure Hilfe

Vielleicht noch als Ergänzung für andere, die mit SWT rumprobieren und Probleme haben:

ich habe das swt.jar ins Projektverzeichnis kopiert, dann die Klasse kompiliert und ausgeführt, wie tHE_29 geschrieben hat:
Code:
javac -cp swt.jar MeineKlasse.java

java -cp swt.jar;.\ MeineKlasse

habe dann allerdings einen fehler bekommen:
Code:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-win32-3139 in
java.library.path

Nach einigem Suchen im Forum hab ich die Lösung gefunden: Man muss die swt-win32-3139.dll in den Projektordner kopieren.

Thomas
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Exception in thread "main" java.lang.NoClassDefFoundError AWT, Swing, JavaFX & SWT 4
K Swing AWT-EventQueue-1 java.lang.NoClassDefFoundError bei setVisible(true) AWT, Swing, JavaFX & SWT 3
W java.lang.NoClassDefFoundError: org/eclipse/swt/graphics/Dev AWT, Swing, JavaFX & SWT 1
2 Newbie in Java - java.lang.NoClassDefFoundError AWT, Swing, JavaFX & SWT 3
H Exception: java.lang.ClassCastException AWT, Swing, JavaFX & SWT 2
M JavaFX java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found AWT, Swing, JavaFX & SWT 5
P Fehlermeldung: Error: Could not find or load main class set Caused by: java.lang.ClassNotFoundException: set AWT, Swing, JavaFX & SWT 5
maximstein JavaFX WebView - java.lang.NoSuchMethodError: 'boolean com.sun.prism.ResourceFactory.isDisposed()' AWT, Swing, JavaFX & SWT 4
M Error occurred during initialization of boot layer java.lang.module.FindException: Module javafx.controls not found AWT, Swing, JavaFX & SWT 14
N FXMLLoader.load java.lang.RuntimeException: Gradle AWT, Swing, JavaFX & SWT 2
pkm Frage wegen java.lang.IllegalStateException bei DocumentListener AWT, Swing, JavaFX & SWT 4
M JavaFX java.lang.IllegalStateException: Location is not set. AWT, Swing, JavaFX & SWT 9
Flynn java.lang.UnsupportedOperationException: Not supported yet AWT, Swing, JavaFX & SWT 7
L java.lang.NullPointerException - Fehlermeldung AWT, Swing, JavaFX & SWT 2
X Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1 AWT, Swing, JavaFX & SWT 6
Sugan Inhalte mit Threads ändern -> java.lang.IllegalStateException AWT, Swing, JavaFX & SWT 6
D java.lang.IndexOutOfBoundsException: AWT, Swing, JavaFX & SWT 18
U JavaFX JAVAFX java.lang.reflect.InvocationTargetException AWT, Swing, JavaFX & SWT 3
L exception in thread awt-eventqueue-0 java.lang.nullpointerexception AWT, Swing, JavaFX & SWT 2
A JTable und java.lang.IndexOutOfBoundsException AWT, Swing, JavaFX & SWT 3
C Event Handling Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException AWT, Swing, JavaFX & SWT 43
M Exception in thread "Thread-3" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 18
P Applet java.lang.reflect.InvocationTargetException AWT, Swing, JavaFX & SWT 4
L FreeChart java.lang.IndexOutOfBoundsException AWT, Swing, JavaFX & SWT 4
M In JField eine Kommazahl darstellen java.lang.NumberFormatException AWT, Swing, JavaFX & SWT 4
1 JComponent -> java.lang.NullPointerException AWT, Swing, JavaFX & SWT 13
H Applet java.lang.ClassNotFoundException: NewApplet.java AWT, Swing, JavaFX & SWT 13
E java.lang.NullPointerException AWT, Swing, JavaFX & SWT 14
F Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: null AWT, Swing, JavaFX & SWT 5
A AWT Methodenaufruf "AWT-EventQueue-0" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 4
D java.lang.IllegalArgumentException beim Darstellen eines Panels AWT, Swing, JavaFX & SWT 7
S Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 7
S Beim Aufbau GUI: java.lang.IllegalAccessError in javax.swing AWT, Swing, JavaFX & SWT 6
loadbrain JTextFields & java.lang.NullPointerException AWT, Swing, JavaFX & SWT 2
S java.lang.verifyError beim Casten nach JMenuItem AWT, Swing, JavaFX & SWT 13
F Fehler: java.lang.NullPointerException AWT, Swing, JavaFX & SWT 2
V java.lang.ArrayIndexOutOfBoundsException: 143 AWT, Swing, JavaFX & SWT 2
A Exception in thread "AWT-EventQueue-0" java.lang.N AWT, Swing, JavaFX & SWT 4
N Swing startet nicht - java.lang.NoSuchMethodError: main AWT, Swing, JavaFX & SWT 8
T java.lang.StackOverflowError AWT, Swing, JavaFX & SWT 4
Juelin Für Java-Spezialisten AWT, Swing, JavaFX & SWT 4
Juelin Java <-> Delphi AWT, Swing, JavaFX & SWT 3
H Exceptions seit java: 1.6.0_65 Umstellung AWT, Swing, JavaFX & SWT 3
J Java GUI Dropdown-Menü anzeigen AWT, Swing, JavaFX & SWT 5
M Eigene Java Klasse für allgemeine Grafikelemente AWT, Swing, JavaFX & SWT 8
thor_norsk Java - Allgemeine - Frage AWT, Swing, JavaFX & SWT 14
W Kennt jemand Dear ImGui (und den Java-Wrapper dazu)? AWT, Swing, JavaFX & SWT 0
B Java Projekt mit JavaFX und jfoenix ausführbar machen AWT, Swing, JavaFX & SWT 46
D JAVA Schieberegler AWT, Swing, JavaFX & SWT 6
N JavaFX Einfacher Taschenrechner mit Scene Builder und Java FX AWT, Swing, JavaFX & SWT 0
Jose05 Aus einer normalen Java Klasse eine FXML-Klasse laden AWT, Swing, JavaFX & SWT 12
S Welches Java Layout sollte ich verwenden? AWT, Swing, JavaFX & SWT 3
B Actionlistener mit Java Swing AWT, Swing, JavaFX & SWT 2
Encera Java FX im Eclipse-Marketplace nichtmehr auffindbar AWT, Swing, JavaFX & SWT 6
_user_q Versionscode aus build.gradle in Java-Klasse ausgeben lassen AWT, Swing, JavaFX & SWT 14
M Java Dateien kopieren mit Fortschrittsbalken AWT, Swing, JavaFX & SWT 13
M Frage zu Java Bundesligaverwaltung AWT, Swing, JavaFX & SWT 7
_user_q Gibt es eine Möglichkeit, in Java alle möglichen Zeichen automatisch tippen zu lassen? AWT, Swing, JavaFX & SWT 13
E 3D-Grafik Java Fatal error bei LWJGL AWT, Swing, JavaFX & SWT 2
Heldderschatten Java Events und Interfaces AWT, Swing, JavaFX & SWT 18
volcanos Scrollen: JScrollPane mit Graphics g und Java-Fonts extends Frame ? AWT, Swing, JavaFX & SWT 5
sserio Java Fx - Problem AWT, Swing, JavaFX & SWT 3
U Warum wird zweimal die Affinetransformation estellt (2Dgraphics, Java)? AWT, Swing, JavaFX & SWT 31
U was bewirkt die methode fill und unterschied zu anderen fill Methoden in 2dgraphics? (Java)? AWT, Swing, JavaFX & SWT 6
DonBronson Java Graphics bewegbar machen (Drag&Drop) AWT, Swing, JavaFX & SWT 3
Yonnig Lokale HTML-Datei in Java GUI rendern AWT, Swing, JavaFX & SWT 4
E Java-TexturePaint sehr langsam AWT, Swing, JavaFX & SWT 9
N Java MySQL Datenbank durchsuchen? AWT, Swing, JavaFX & SWT 7
Splayfer Custom Font in AttributedString Java AWT, Swing, JavaFX & SWT 4
imawake Java Paket-Tracking Programm 📦 AWT, Swing, JavaFX & SWT 7
izoards *.doc Seitenränder per Java setzen... AWT, Swing, JavaFX & SWT 14
T FXML Datei in Java Code einbinden: javafx.fxml.LoadException AWT, Swing, JavaFX & SWT 2
J Key-Listener in Java AWT, Swing, JavaFX & SWT 37
J Java Datei durch CMD mit Parameter ausführen AWT, Swing, JavaFX & SWT 1
N Java Mouse Listiner macht alles zusammen AWT, Swing, JavaFX & SWT 4
J Java FX NullPointerException, ObservableList wird in View nicht angezeigt.. AWT, Swing, JavaFX & SWT 34
AmsananKING Java Menü-Problem AWT, Swing, JavaFX & SWT 1
T Swing DPI-Skalierung und Java 2D unter Java 11 (und Windows 10) AWT, Swing, JavaFX & SWT 2
J Spiel mit Java AWT, Swing, JavaFX & SWT 9
I AWT java.awt.FileDialog - "coffee cup"-Icon lässt sich nicht ersetzen AWT, Swing, JavaFX & SWT 14
O Ein Java-Programm mit Swing steuern AWT, Swing, JavaFX & SWT 1
izoards Java FX Window Event SHOWING AWT, Swing, JavaFX & SWT 17
T Java GUI - Würfel Programm AWT, Swing, JavaFX & SWT 6
JojoSand Java Programm wird nicht gestartet - keinen Fehlerhinweis AWT, Swing, JavaFX & SWT 9
dtr84 JavaFX/OpenJFX mittels Apache Ivy einbinden (Java 11) AWT, Swing, JavaFX & SWT 18
M Jogl und Java 3d AWT, Swing, JavaFX & SWT 0
S0PEX JavaFX Java 8 auf 15 migrieren OpenJFX mit Gradle eingebunden, jedoch nicht gefunden !? AWT, Swing, JavaFX & SWT 4
I Gui in bestehendes Java-Programm AWT, Swing, JavaFX & SWT 11
V Java-Zeichenfeld mit AWT AWT, Swing, JavaFX & SWT 3
N java Gui friert scheinbar zufällig ein AWT, Swing, JavaFX & SWT 5
T Anderen Java Code durch Code kompilieren und Fehler in Label ausgeben AWT, Swing, JavaFX & SWT 5
P Java Fx einrichten AWT, Swing, JavaFX & SWT 2
S JavaFX Java Custom Node Grafik zurückgeben AWT, Swing, JavaFX & SWT 2
MiMa Java und JavaFX 13 läuft endlich AWT, Swing, JavaFX & SWT 4
N eclipse Java, bilder benutzten Funktioniert nicht AWT, Swing, JavaFX & SWT 6
Trèfle Ausklappbare Diagramme in Java AWT, Swing, JavaFX & SWT 1
R Java, GUI, Hintergrundbild, Image, AWT, Swing, JavaFX & SWT 4
K JAVA FX Constraints AWT, Swing, JavaFX & SWT 2
F Java FX und webcam AWT, Swing, JavaFX & SWT 1
T Wie kann man in java aufwendige grafiken programmieren AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben