Impossible de trouver ou de charger la classe principale Java ? Voici comment y remédier !
Si vous continuez à obtenir l’erreur de cours principal non découvert dans votre projet Java sans facteur évident, ne vous inquiétez pas, vous n’êtes pas le seul.
En tant que l’une des erreurs les plus imprévisibles et les plus spontanées, grâce à la propension de la JVM (Java Virtual Machine) à rester avec un chemin de classe par défaut, le problème du « cours principal non localisé » est quelque chose qui hante les débutants comme les spécialistes.
Mais ce problème est en fait beaucoup moins redoutable qu’il n’y paraît. Continuez à lire pour comprendre comment vous pouvez éliminer cette erreur une fois pour toutes.
Pourquoi la classe principale n’a-t-elle pas été trouvée ?
Avant d’essayer de comprendre comment et aussi pourquoi JVM n’a pas pu localiser la classe primaire, nous devons reconnaître le principe de Chemin de classe en Java.
Qu’est-ce que Classpath ?
Le chemin de classe est le chemin des documents que l’environnement d’exécution Java recherche pour les classes ainsi que divers autres documents source. Il peut être établi en utilisant soit le – chemin de classe alternative lors de l’exécution d’un programme ou de la mise en place du système CLASSPATH variables d’environnement.
Comme son nom l’indique, il s’agit simplement d’un cours de données où le . cours les documents peuvent être découverts dans un package ou un répertoire JDK.
Lorsque la JVM n’est pas en mesure de trouver le plat principal, c’est souvent parce qu’elle recherche le plat correspondant . cours données dans le mauvais chemin de classe. Bien sûr, la façon de résoudre ce problème est de définir manuellement le chemin de classe en utilisant des plans ou en spécifiant le chemin de classe.
À ce stade, si vous souhaitez vous rafraîchir la mémoire des cours Java, consultez notre aperçu de la production de cours en Java.
Utilisation de packages
Créons une classe appelée Test . Mettez-le dans un plan appelé testPackage . Les bundles sont utilisés en Java afin de regrouper des cours similaires ou d’offrir un espace de noms unique pour les cours.
Dans cet exemple de base, l’utilisation d’un package vous aidera à visualiser le fonctionnement du chemin de classe de Java. Dans votre application de gestionnaire de fichiers, un package est représenté sous la forme d’un dossier indépendant.
Maintenant, ouvrez un tout nouvel incurable et assurez-vous également que votre site de répertoire fonctionnel coïncide avec celui qui contient le dossier de plan. Vous pouvez modifier le répertoire de travail en utilisant le CD commande sur tout type de système d’exploitation.
Compiler Test. Java en exécutant la commande conforme à :
Cela enregistrera les données binaires assemblées (le fichier.class) dans testPackage.
Pour exécuter la classe compilée, vous devez entrer le nom complet de la classe dans la ligne de commande. Le nom complet d’une classe Java décrit son nom précédé de son nom de bundle. Dans cette situation, cela doit ressembler à ceci :
Cette méthode d’appel des données de classe garantit en outre que vous pouvez appeler des exécutables à partir de différents plans à partir du même site de répertoire de travail. Tout ce que vous avez à faire est de personnaliser le nom du cours totalement certifié.
Dans les exécutions plus avancées, nous vous conseillons de créer des sous-dossiers séparés pour vos classes ainsi que des documents sources pour mieux gérer les fichiers dans le plan.
Spécification manuelle du chemin de classe
Le moyen recommandé pour gérer vos données Java consiste à créer différents sites de répertoires pour les fichiers de ressources et les classes. Si vous travaillez sur un travail, il est probable que vous le fassiez déjà.
Classiquement, le répertoire avec les documents sources est classé comme src et aussi celui avec les documents.class est étiqueté comme Des classes. C’est en outre un moyen de garantir que la possibilité que la JVM ne localise pas le cours principal est considérablement réduite, grâce au répertoire correctement structuré.
Si nous utilisons cette approche, voici à quoi ressemblera certainement le cadre du site d’annuaire avant l’assemblage :
Chaque retrait dans l’illustration ci-dessus représente un niveau de la hiérarchie des documents auquel votre travail doit se conformer.
Pour assembler cela, assurez-vous que votre répertoire fonctionnel est myFolder. Maintenant, tapez la commande suivante :
le . cours exécutable doit être conservé dans monDossier/classes/testPackage . En conséquence, la structure du répertoire de fichiers ressemble à ceci :
Pour exécuter le . cours documents, exécutez la commande Java avec le nom de classe complet et définissez le chemin de classe local. Chaque chemin est déclaré sur le répertoire de travail, qui dans ce cas est myFolder.
L’exécution de cette commande doit vous offrir le résultat souhaité. Cependant, pourquoi tant de réorganisation est-elle nécessaire pour résoudre une simple erreur ?
L’importance de l’organisation des fichiers en Java
La raison pour laquelle la classe principale « Impossible de trouver ou de charger la classe principale » est jetée est que JVM n’a pas été en mesure de découvrir où votre . cours les données étaient conservées.
La méthode la plus pratique pour corriger cette erreur consiste à gérer l’emplacement où les fichiers .class sont enregistrés et également à informer clairement JVM d’y rechercher. Ceci est mis en œuvre en organisant vos fichiers source et exécutables indépendamment ainsi qu’en contrôlant chaque petite chose à partir d’un site de répertoire fonctionnel.
Au fur et à mesure que vous commencez à inclure des constructions telles que l’héritage dans votre travail, la complexité du système de données est vouée à augmenter. Dans de telles tâches ou même celles où l’utilisation de fichiers JAR ou de bibliothèques personnalisées est requise, la pratique de base de la séparation et de la gestion des documents peut vous faire économiser de nombreuses heures de dépannage et de débogage.
Pour en savoir plus sur le fonctionnement de classpath en Java ainsi que sur les nombreuses choses que vous pouvez gérer lorsqu’il s’agit d’exécuter votre code, vous pouvez également consulter Oracle référence détaillée et simple .