[JAVA] "Fehler: Hauptklasse XXX nicht gefunden oder konnte nicht geladen werden" tritt auf, obwohl die Hauptklasse vorhanden ist

Veranstaltung

Angenommen, die folgende Klasse "Kind" existiert.

Child.java


public class Child extends Parent {
    public static void main(String[] args) {
        System.out.println("This class is `Child`");
    }
}

Das Ergebnis des Speicherns in child.jar und des Ausführens in Java 8 ist das folgende.

C:\>java -version
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

C:\>java -cp child.jar Child
Error:Hauptklasse Kind wurde nicht gefunden oder konnte nicht geladen werden

Die Java-Ausführung schlug mit dem Fehler "Hauptklasse Kind nicht gefunden oder konnte nicht geladen werden" fehl, obwohl die Klasse "Kind" vorhanden ist.

Ursache

__ Der wahre Grund ist, dass die Elternklasse "Eltern" von "Kind" nicht gelesen werden kann. __ Tatsächlich wird "Parent" in "parent.jar" gespeichert, was sich von "child.jar" unterscheidet. "Parent.jar" kann jedoch nicht mit der obigen Ausführungsmethode "Java" gelesen werden.

Also habe ich parent.jar zum Klassenpfad hinzugefügt und java ausgeführt, und es hat wie erwartet funktioniert.

C:\>java -version
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

C:\>java -cp child.jar;parent.jar Child
This class is `Child`

Wenn ich nur den Teil "Kind nicht gefunden" betrachte, scheint es, dass "Kind" nicht richtig in "child.jar" gespeichert wurde, und tatsächlich habe ich aufgrund dieses Glaubens viel Zeit verschwendet. ……. Es ist schlecht, dass die Fehlermeldung schwer zu verstehen ist (umgekehrte Giraffe)

Recommended Posts

"Fehler: Hauptklasse XXX nicht gefunden oder konnte nicht geladen werden" tritt auf, obwohl die Hauptklasse vorhanden ist
Fehler: Hauptklasse nicht gefunden oder konnte nicht geladen werden
[Java] Hauptklasse XXX wurde nicht gefunden oder konnte nicht geladen werden
Wenn macOS Catalina sagt "Fehler: Hauptklasse XX wurde nicht gefunden oder konnte nicht geladen werden"
Heutiger Java-Fehler: Fehler: Hauptklasse konnte nicht gefunden oder geladen werden
HttpServletRequest-Klassendatei nicht gefunden
Fehler: Hauptklasse nicht gefunden oder konnte nicht geladen werden
[Java] Hauptklasse XXX wurde nicht gefunden oder konnte nicht geladen werden
java.util.Optional class und null und nicht null
Heutiger Java-Fehler: Fehler: Hauptklasse konnte nicht gefunden oder geladen werden
Wenn macOS Catalina sagt "Fehler: Hauptklasse XX wurde nicht gefunden oder konnte nicht geladen werden"
"Fehler: Hauptklasse XXX nicht gefunden oder konnte nicht geladen werden" tritt auf, obwohl die Hauptklasse vorhanden ist
Fehler beim Finden des Symbols bei neuer Klasse in einer anderen Java-Datei
ld: Framework nicht gefunden Crashlytics-Problemumgehung
Fehler in ./gradlew: Symbol nicht gefunden
"Auswahl enthält keinen Haupttyp"
FEHLER! Die PID-Datei des MySQL-Servers wurde nicht gefunden!
"Java.lang.NoClassDefFoundError: Klasse java.nio.file.FileSystems $ DefaultFileSystemHolder konnte nicht initialisiert werden" tritt auf, obwohl es kein Problem gibt, den Klassenpfad und die Codierung mehrmals zu überprüfen.
Die Geschichte, dass das Servlet nicht in die Java-Webanwendung geladen werden konnte
Passen Sie die Anzeige an, wenn im Spring Boot ein Fehler wie 404 Not Found auftritt