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.
__ 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