Auch Hallo.
Nach einer Neuinstallation von Windows und jdk1.6.0 bekomme
ich diese „java.lang.noClassDefFoundError:“. Ich vermute das
dass an den Umgebungsvariablen liegt.
Warum?
Die Befehle „java“ und „javac“ werden ausgeführt, erst nach
dem compilieren der Quelltexte, die richtig geschrieben sind
und und vor der neuinstallation ausführbar waren kommt die
Fehlermeldung.
Für mich nochmal zu mitschreiben: Du kompilierst die Quellen mit javac und willst sie danach mit java ausführen, richtig?
Die Systemvariablen PATH und CLASSPATH sind beide wie folgt
gesetzt:
C:\Program Files\Java\jdk1.6.0\bin
Eigentlich unnötig das in die CLASSPATH-Variable reinzuschreiben. Die Runtime des JDK/JRE ist eigentlich immer dabei, sonst würde nämlich gar nix laufen.
Zuerst mal würde ich JAVA_HOME setzen. Das wäre bei dir dann wohl das
C:\Program Files\Java\jdk1.6.0 Verzeichnis.
Danach musst du mal sehen, ob beim Aufruf von java der übergebene Klassenpfad stimmt. Falls du nämlich keinen übergibst nimmt er das, was in der CLASSPATH Variable drinsteht; und da ist nur das bin-Verzeichnis drin.
Also:
Entweder du setzt in die CLASSPATH Variable den Pfad zu deinen Klassen der Anwendung ein,
oder du übergibst beim java Aufruf den Klassenpfad der Anwendung mit (java -cp Verzeichnis-zu-deinen-Klassen name.der.klasse.mit.Main).
API-Zitat zur NoClassDefFoundError:
„The searched-for class definition existed when the currently executing class was compiled, but the definition can no longer be found.“
Heißt auf deutsch, deine Klassen lassen sich wohl kompilieren, allein der java Aufruf läuft wohl ins leere, aus den genannten Gründen.
Viel Erfolg noch,
Chris