Abhilfe schaffen bei "java.lang.NoClassDefFoundError "
wucher wichtel
- java
2 Slyh
Hallo!
Ich bin gerade dabei etwas in die Softwareprogrammierung einzutauchen. Dazu habe ich mir mehrere Tutorials durchgelesen; u.a. auch dieses: http://www.gailer-net.de/tutorials/java/
Beim Durchlesen bin auf dieses Programm gestossen: http://www.gailer-net.de/tutorials/java/Notes/chap50/ch50_9.html
Darunter steht: "Sie können dieses Programm in Ihren Editor kopieren, es speichern und ausführen."
Gesagt getan, aber NetBeans gibt nur folgendes aus:
java.lang.NoClassDefFoundError: test/VideoVerleih
Exception in thread "main"
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)
Dazu habe ich zwei Fragen:
1. Was ist an dem Programm falsch? Was muss geändert werden? Die Recherche im Internet hat mich darauf gebracht, dass diese Fehlermeldung kommt, wenn irgendetwas mit den Pfaden nicht stimmt. Aber bei NetBeans habe ich kein "Gewurschtel" mit Pfaden. Also hilft mir das Ergebnis meiner Recherche nicht weiter. Ich hoffe _ihr_ könnt mir weiterhelfen :)
2. Warum steht da trotz der Fehlermeldung folgendes:
BUILD SUCCESSFUL (total time: 1 second)
Es ist ja ganz eindeutig nicht successful gebuildet worden :-) !?
Vielen Dank für eure Hilfe!
ciao, ww
Hallo,
Ich bin gerade dabei etwas in die Softwareprogrammierung einzutauchen. Dazu habe ich mir mehrere Tutorials durchgelesen; u.a. auch dieses: http://www.gailer-net.de/tutorials/java/
Beim Durchlesen bin auf dieses Programm gestossen: http://www.gailer-net.de/tutorials/java/Notes/chap50/ch50_9.html
Ich hab mir jetzt nur dieses Beispiel angesehen. Aber hier fällt mir
bereits ein ziemlich schlechter Code-Stil auf. Bist du sicher, daß du
dich nicht lieber durch eines der bekannten (kostenlosen) Java-Bücher
durcharbeiten willst?
http://www.javabuch.de
http://www.galileocomputing.de/openbook/javainsel6/
Gesagt getan, aber NetBeans gibt nur folgendes aus:
java.lang.NoClassDefFoundError: test/VideoVerleih
Exception in thread "main"
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)Dazu habe ich zwei Fragen:
- Was ist an dem Programm falsch? Was muss geändert werden? Die Recherche im Internet hat mich darauf gebracht, dass diese Fehlermeldung kommt, wenn irgendetwas mit den Pfaden nicht stimmt.
Nicht zwingend. Eigentlich bedeutet es eher, daß Java die genannte
Klasse nicht findet. Das muß nicht unbedingt etwas mit dem Klassenpfad
zu tun haben, sondern kann auch einfach durch einen falschen Aufruf
passieren.
Aus der Fehlermeldung schließe ich, daß die Klasse "VideoVerleih" im
Package "test" liegt. Stelle hierfür sicher, daß sich die Datei
"VideoVerleih.java" in Netbeans in diesem Package befindet. Im Prinzip
ist ein Package nichts anderes als ein Verzeichnis. Du wirst also auf
Dateiebene ein Verzeichnis "test" finden, in dem sich "VideoVerleih.java"
und dann auch "Videoverleih.class" befinden.
Wenn dem nicht so ist, ist etwa inkorrekt.
Wenn sich die Klasse in Netbeans korrekt im Package "test" befindet,
dann prüfe bitte, ob du am Anfang deiner Datei auch "package test;"
stehen hast. Steht dies nicht dort, befindet sich die Klasse im Default-
Package und stimmt damit nicht mit der Package/Verzeichnis-Struktur
in Netbeans überein.
Eine gute IDE sollte einen solchen Fehler übrigens anmeckern.
Eine gute IDE wäre übrigens Eclipse. Meiner Meinung nach ist Eclipse in
vielen Belangen Netbeans bei weitem überlegen.
- Warum steht da trotz der Fehlermeldung folgendes:
BUILD SUCCESSFUL (total time: 1 second)
Es ist ja ganz eindeutig nicht successful gebuildet worden :-) !?
Doch, es wurde erfolgreich gebaut. Nur die Ausführung ist schiefgelaufen.
Gruß
Slyh
Hallo!
Bist du sicher, daß du dich nicht lieber durch eines der bekannten (kostenlosen) Java-Bücher durcharbeiten willst?
http://www.javabuch.de
Das muss ich mir mal anschauen! Vielen Dank für den Tip!
Dieses Buch gefällt mir nicht, weil es keine bzw. zu wenige Beispiele benützt. Und ohne diese eine Sprache wie Java zu lernen fällt mir sehr schwer. Aber sonst finde ich das Buch sehr gut.
Eine gute IDE wäre übrigens Eclipse. Meiner Meinung nach ist Eclipse in vielen Belangen Netbeans bei weitem überlegen.
Danke für den Tip. Ich bin z.Z. nicht an meinem eigenen Rechner. Deswegen kann ich es nicht ausprobieren, aber sobald ich wieder zu Hause bin, schau ich mir das an.
Vielen Dank für deine Hilfe! Mein eigentliches Problem hat sich dadurch gelöst, dass ich "package test;" am Anfang eingefügt habe. Danke schön!
ciao, ww