[JAVA] "Erreur: la classe principale XXX est introuvable ou n'a pas pu être chargée" se produit même si la classe principale existe

un événement

Tout d'abord, supposons que la classe «Child» suivante existe.

Child.java


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

Le résultat de son stockage dans child.jar et de son exécution dans Java 8 est le suivant.

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
Erreur:La classe principale Child est introuvable ou n'a pas pu être chargée

L'exécution de Java a échoué avec l'erreur «Classe principale Enfant introuvable ou impossible de charger» même si la classe «Enfant» existe.

Cause

__ La vraie raison est que la classe parent «Parent» de «Child» ne peut pas être lue. __ En fait, Parent est stocké dans parent.jar, qui est différent de child.jar. Cependant, parent.jar ne peut pas être lu par la méthode d'exécution de commande java ci-dessus.

J'ai donc ajouté parent.jar au chemin de classe et exécuté java, et cela a fonctionné comme prévu.

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`

En regardant uniquement la partie "Enfant non trouvé", il semble que "Enfant" n'a pas été stocké correctement dans "child.jar", et en fait j'ai perdu beaucoup de temps à cause de cette croyance. ……. C'est dommage que le message d'erreur soit difficile à comprendre (girafe inversée)

Recommended Posts

"Erreur: la classe principale XXX est introuvable ou n'a pas pu être chargée" se produit même si la classe principale existe
Erreur: la classe principale est introuvable ou n'a pas pu être chargée
[Java] La classe principale XXX est introuvable ou n'a pas pu être chargée
Si macOS Catalina indique "Erreur: la classe principale XX est introuvable ou n'a pas pu être chargée"
Erreur java d'aujourd'hui: Erreur: impossible de trouver ou de charger la classe principale
Fichier de classe HttpServletRequest introuvable
Erreur: la classe principale est introuvable ou n'a pas pu être chargée
[Java] La classe principale XXX est introuvable ou n'a pas pu être chargée
java.util.Optional class et null et non null
Erreur java d'aujourd'hui: Erreur: impossible de trouver ou de charger la classe principale
Si macOS Catalina indique "Erreur: la classe principale XX est introuvable ou n'a pas pu être chargée"
"Erreur: la classe principale XXX est introuvable ou n'a pas pu être chargée" se produit même si la classe principale existe
Erreur de non-recherche du symbole lors de la nouvelle classe dans un autre fichier Java
ld: framework non trouvé Solution de contournement Crashlytics
Erreur dans ./gradlew: symbole introuvable
"La sélection n'inclut pas le type principal"
ERREUR! Le fichier PID du serveur MySQL est introuvable!
"Java.lang.NoClassDefFoundError: Impossible d'initialiser la classe java.nio.file.FileSystems $ DefaultFileSystemHolder" se produit même s'il n'y a pas de problème pour vérifier le chemin de la classe et l'encodage plusieurs fois.
L'histoire selon laquelle le servlet n'a pas pu être chargé dans l'application Web Java
Personnalisez l'affichage lorsqu'une erreur telle que 404 Not Found se produit dans Spring Boot