java.lang.NoClassDefFoundError
Ich bin Java zu lernen habe Probleme beim ausführen eines Beispielprogramms.
Habe ich zwei Dateien:
GoodDog.java:
class GoodDog {
private int size;
public int getSize() {
return size;
}
public void setSize(int s) {
size = s;
}
void bark() {
if (size > 60) {
System.out.println("Wooof! WoooF!");
} else if (size > 14) {
System.out.println("Ruff! Ruff!");
} else {
System.out.println("Yip! Yip!");
}
}
}
GoodDogTestDrive.java:
class GoodDogTestDrive {
public static void main (String[] args) {
GoodDog one = new GoodDog();
one.setSize(70);
GoodDog two = new GoodDog();
two.setSize(8);
System.out.println("Dog one: " + one.getSize () );
System.out.println("Dog two: " + two.getSize () );
one.bark();
two.bark();
}
}
Sind Sie abgetippt genau so, wie Sie im Buch sind und zu kompilieren, ohne Frage. Wenn ich versuche zu laufen GoodDogTestDrive ich dieses:
nephi-shields-mac-mini:/Developer/MyProjects/GoodDog nephishields$ java GoodDogTestDrive.class
java.lang.NoClassDefFoundError: GoodDogTestDrive/class
Exception in thread "main" nephi-shields-mac-mini:/Developer/MyProjects/GoodDog nephishields$
Was mache ich falsch?
Ich bin auf der Suche nach der generischen Frage, welche Antworten auf Fragen dieser Art, Sie sind sehr Häufig und Sie sollten in der Lage sein, um es herauszufinden, indem man ein post. Wenn jemand mich schlägt, um die URL bitte posten.
Jedes mal wenn Sie einen Raum neben dem parens, ich erschaudern.
Jedes mal wenn Sie einen Raum neben dem parens, ich erschaudern.
InformationsquelleAutor | 2011-04-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht
.class
im Befehl:Ich habe denselben Fehler, als ich anfing, über dieses Buch 😉
das ist, weil ein
.
ist eine scope-resolution-operator in Java, so GoodDogTestDrive.class bezieht sich auf die Klasse mit dem Namenclass
des PaketsGoodDogTestDrive
, die natürlich nicht existiert. Dies ist der Grund, warum deine Fehlermeldung hatGoodDogTestDrive/class
im esInformationsquelleAutor Mark Peters
Es ist wichtig zu beachten, dass, während die Auflösung war einfach, für dieses problem-Fall (einfach zu entfernen .Klasse aus der Java-Befehlszeile), java.lang.NoClassDefFoundError kann schwierig sein, zu lokalisieren im Kontext von Java, Web-Anwendungs-Entwicklungen.
Diese Java-Ausnahme bedeutet, dass eine "Laufzeitumgebung" Java-Klasse konnte nicht geladen werden, und/oder finden Sie in der aktuellen Thread-Kontext-classloader. Dies ist normalerweise der Ergebnisse:
Ist es empfehlenswert, für jeden Java-Anfänger um richtig zu verstehen, diese Art von problem in der Erwartung der zukünftigen Fehlersuche Episoden.
InformationsquelleAutor P-H
führen Sie einfach das Programm mit "java-yourClass".
Nicht verwenden .Klasse am Ende.
Versuchen Sie es und lassen Sie es uns wissen.
InformationsquelleAutor axcdnt
Wenn die GoodDog Klassendatei befindet sich nicht im aktuellen Verzeichnis, müssen Sie den Klassenpfad auf dem java-Befehl....
InformationsquelleAutor mmccomb
Problem-java.lang.NoClassDefFoundError
Ursache: Falsche Java-Pfad in die Umgebungsvariable Abschnitt
Lösung: richtigen JAVA_HOME Path
Schritte->Umgebungsvariablen Einstellen (Mein Comp-Rechte Maustaste ->Eigenschaften->Env-Variable->Registerkarte erweitert ->Variable)
Erstellen neue Umgebungsvariable JAVA_HOME.
Set JAVA_HOME variable in PFAD-Variablen-Abschnitt.
Set JAVA_HOME variable in die CLASSPATH-Variable
System Neu Starten
Überprüfen, ob alle Variablen
Kompilieren javac-java-Klasse Test.java
Ausführen von Java-Programmen java-Test
InformationsquelleAutor user2735451
Ausgelöst, wenn die JVM oder eine ClassLoader-Instanz zu laden versucht in der definition einer Klasse (Aufruf der Methode oder erstellen Sie eine neue Instanz) und keine definition für die Klasse gefunden werden konnte.
Den Grund für NoClassDefFoundError ist, dass eine bestimmte Klasse nicht verfügbar ist Laufzeit, sondern war während der Kompilierung.
1.Die Klasse gehört zu einer fehlende JAR-oder JAVA-Datei oder GLAS wurde nicht Hinzugefügt, in classpath.
2.Klasse ist nicht verfügbar in Java-Classpath.
3.NoClassDefFoundError in Java aufgrund einer Ausnahme im Statischen Initialisierer block. wenn Ihre Klasse führen einige statische Initialisierung im statischen
block, und wenn static-block eine Ausnahme geworfen, die der Klasse der
unter Bezugnahme auf diese Klasse erhalten NoclassDefFoundError in Java.
4.Ihre Classpath PFAD oder JAVA_HOME ist nicht setup korrekt ist oder JDK-installation ist nicht korrekt. das kann behoben werden, indem re-Installation von JDK.
5.Tun maven-clean-install und einfach starten Sie Ihren server neu mit den notwendigen Quell - (.java) Dateien.
InformationsquelleAutor Lucky
Ich Stand vor dem gleichen problem wie du.
Ich löste das problem so:
Einfach kopieren Sie die fehlenden .die class-Dateien zu bin - Verzeichnis von eclipse-Projekt ist das problem gelöst.
InformationsquelleAutor laxminarayana