Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Compilieren klappt...aber Ausführen nicht



lord.paddington
23-10-2004, 18:45
Hallo Leute!

Nachdem ich meine Probleme mit dem Compilieren in den Griff bekommen habe, gibt es nun Probleme mit dem Ausführen. Die *.class - Datei wird wunderbar erzeugt aber beim Ausführen gibt es die klassische Anfängerfehlermeldung


user@linux:~> ~/jdk1.3.1_13/bin/javac ~/vfh/prog1/le04/UebClockman.java
user@linux:~> ~/jdk1.3.1_13/bin/java ~/vfh/prog1/le04/UebClockman
Exception in thread "main" java.lang.NoClassDefFoundError: /home/user/vfh/prog1/le04/UebClockman
user@linux:~>

kann mir jemand weiterhelfen?

peschmae
23-10-2004, 20:51
Bei Java musst du zum Auführen den Pfad nicht angeben. D.h. die *.class-Dateien (oder die jar-Datei) müssen in CLASSPATH zu finden sein. Anschliessend führst du das Programm mit
java UebClockman
oder, falls das Programm z.B. in der Package prog1.le04 ist
java prog1.le04.UebClockman
aus.

Im CLASSPATH muss für Variante 1 der Ordner ~/vfh/prog1/le04 und bei Variante 2 der Ordner ~/vfh enthalten sein.

MfG Peschmä

lord.paddington
23-10-2004, 22:07
Habe in der ~/.bashrc und in der ~/.profile den classpath wie folgt gesetzt:


set CLASSPATH=(CLASSPATH ~/vfh/prog01/le04)

diese Fehlermeldung wird daraufhin auspespuckt:


user@linux:~/vfh/prog1/le04> java UebClockman
Exception in thread "main" java.lang.NoClassDefFoundError: vfh/prog1/bib/clockman/Clockman_Frame
at UebClockman.main(UebClockman.java:26)
user@linux:~/vfh/prog1/le04>

fehlt jetzt noch der CLASSPATH für das import - Verzeichnis?

peschmae
24-10-2004, 09:47
er findet Clockman_Frame nicht - wo ist das? Und ist das im Classpath?

MfG Peschmä

Geist
25-10-2004, 10:26
Das dürfte doch eine seiner Javas sein, oder?

Der beschriebene Fehler hängt auf jeden Fall damit zusammen, das ein Pfad (classpath in erster Linie) nicht richtig im System integriert ist. Exakt den gleichen Fehler hatte ich auch. Probier das mal (hört sich doof an, aber bei mir hat es geholfen):
Kompiliere mal per eingebundene Konsole in Kate (also wirklich IN Kate) und führe auch von dort aus. Geht das?
Andere Möglichkeit: installier mal netbeans. Das setzt auch ein paar Pfade.

Ganz wichtig bei den ganzen Pfadgeschichten und nach netbeans Installation: mach danach einen Neustart (also richtig aus, dann wieder an).

lord.paddington
25-10-2004, 19:46
um den CLASSPATH zu setzen, ist die Datei /etc/.profile bspw. wie folgt zu editieren:

CLASSPATH=/home/user/vfh/prog1/le04 : /home/user/vfh/prog1/bib/clockman : /home/user/vfh/lexx
export CLASSPATH

Danke für die Unterstützung!

Geist
26-10-2004, 07:43
Hab ich nie gemacht, hört sich aber besser an als Try & Error. Ich hatte tausend export probiert, nichts half. Vielleicht war es genau dieser der fehlte ;)

Sag mal paddington, in dem Pfad lese ich ein bib. Kann es sein, das Du dort zur Schule gehst?

lord.paddington
26-10-2004, 19:42
Ich gehe im hohen Norden zur Schule.....du auch?

Geist
27-10-2004, 07:29
nö, ich war in Hannover vor 5 Jahren und bin Informatiker in Multimedia. Leider, hab festgestellt, das ich wohl lieber Softwareentwickler wäre. Aber der Arbeitsmarkt ist so tot, da macht es kaum noch einen Unterschied.

Gutes Gelingen beim Java lernen. Ist die geilste Sprache der Welt (find ich).

Nochmal damit ich nicht doof sterbe: clockman, Clockman_Frame und UebClockman sind doch die .java's (bzw. deren Ordner) die Du bearbeitet hast, ja? Nur damit ich das mit den Pfaden verstehe, weil der Classpath muss doch auf die Java-bin zeigen oder? (ich bin neu auf Linux und versuche es zu verstehen :o )