Impossible de trouver ou de charger Java de la classe principale ? Voici comment y remédier !

Impossible de trouver ou de charger Java de la classe principale ? Voici comment y remédier !

Si vous continuez à obtenir l'erreur de classe principale introuvable dans votre projet Java sans raison apparente, ne vous inquiétez pas, vous n'êtes pas seul.



En tant que l'une des erreurs les plus imprévisibles et les plus spontanées, grâce à la tendance de JVM (Java Virtual Machine) à s'en tenir à un chemin de classe par défaut, le problème de la «classe principale non trouvée» hante les amateurs comme les professionnels.



Mais ce problème est en réalité moins intimidant qu'il n'y paraît. Lisez la suite pour savoir comment vous pouvez vous débarrasser une fois pour toutes de cette erreur.





Pourquoi la classe principale n'a-t-elle pas été trouvée ?

Avant d'essayer de comprendre comment et pourquoi JVM n'a pas pu trouver la classe principale, nous devons comprendre le concept de Chemin de classe à Java.

Qu'est-ce que Classpath ?

Le chemin de classe est le chemin de fichier que l'environnement d'exécution Java recherche pour les classes et autres fichiers de ressources. Il peut être réglé à l'aide de la -classpath option lors de l'exécution d'un programme ou en configurant le système CHEMIN DE CLASSE variable d'environnement.



Comme son nom l'indique, il s'agit simplement d'un chemin de fichier où le .classer peuvent être trouvés dans un package ou un répertoire JDK.

Lorsque la JVM n'arrive pas à localiser la classe principale, c'est souvent parce qu'elle recherche la classe correspondante .classer fichiers dans le mauvais chemin de classe. Bien sûr, la façon de rectifier ce problème est de spécifier manuellement le chemin de classe en utilisant des packages ou en spécifiant le chemin de classe.

À ce stade, si vous souhaitez vous rafraîchir la mémoire des classes Java, consultez notre guide pour créer des classes en Java .

comment connecter des écouteurs bluetooth à xbox one

Utiliser des packages

Créons une classe appelée Test . Placez-le dans un emballage appelé paquet de test . Les packages sont utilisés en Java afin de regrouper des classes similaires ou de fournir un espace de noms unique pour les classes.

Dans cet exemple simple, l'utilisation d'un package vous aidera à visualiser le fonctionnement du chemin de classe de Java. Dans votre application de gestion de fichiers, un package est représenté comme un dossier indépendant.

package testPackage;
public class Test {
public static void main(String args[]) {
System.out.println('File successfully found!');
}
}

Maintenant, ouvrez un nouveau terminal et assurez-vous que votre répertoire de travail est le même que celui qui contient le dossier du package. Vous pouvez changer le répertoire de travail en utilisant le CD commande sur n'importe quel système d'exploitation.

Compiler Test.java en exécutant la commande suivante :

package testPackage;
javac testPackage/Test.java

Cela enregistrera le fichier binaire compilé (le fichier .class) dans testPackage.

Pour exécuter la classe compilée, vous devez saisir le nom complet de la classe dans la ligne de commande. Le nom complet d'une classe Java fait référence à son nom précédé du nom de son package. Dans ce cas, cela devrait ressembler à ceci :

java testPackage.Test

Cette façon d'appeler les fichiers de classe garantit également que vous pouvez appeler des exécutables de différents packages à partir du même répertoire de travail. Tout ce que vous avez à faire est de modifier le nom de classe complet.

Dans les implémentations plus avancées, nous vous recommandons de créer des sous-dossiers séparés pour vos classes et fichiers source afin de mieux gérer les fichiers au sein du package.

Spécification manuelle du chemin de classe

La méthode recommandée pour gérer vos fichiers Java consiste à créer des répertoires séparés pour les fichiers source et les classes. Si vous travaillez sur un projet, il est probable que vous le fassiez déjà.

Classiquement, le répertoire avec les fichiers source est étiqueté comme src et celui avec les fichiers .class est étiqueté comme Des classes. C'est également un moyen de s'assurer que la probabilité que JVM ne trouve pas la classe principale est considérablement réduite, grâce au répertoire correctement structuré.

Si nous utilisons cette méthode, voici à quoi ressemblera la structure du répertoire avant la compilation :

comment récupérer une image à partir d'un pdf
|---myFolder
| |---src
| |---testPackage
| |---Test.java
|
| |---classes

Chaque retrait dans l'illustration ci-dessus correspond à un niveau de la hiérarchie des fichiers que votre projet doit suivre.

Pour compiler cela, assurez-vous que votre répertoire de travail est myFolder. Maintenant, tapez la commande suivante :

javac -d classes src/testPackage/Test.java

Les .classer l'exécutable doit être enregistré dans myFolder/classes/testPackage . En conséquence, la structure du répertoire des fichiers ressemble à ceci :|_+_|

Pour exécuter le .classer , exécutez la commande Java avec le nom de classe complet et spécifiez le chemin de classe local. Chaque chemin est déclaré par rapport au répertoire de travail, qui dans ce cas est myFolder.

|---myFolder
| |---src
| |---testPackage
| |---Test.java
|
| |---classes
| |---testPackage
| |---Test.class

L'exécution de cette commande devrait vous donner le résultat souhaité. Mais 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 même pour laquelle « Impossible de trouver ou de charger la classe principale » est levée est que JVM n'a pas été en mesure de trouver où votre .classer les fichiers étaient stockés.

Le moyen le plus simple de résoudre cette erreur est de contrôler l'emplacement de stockage des fichiers .class et de dire explicitement à JVM d'y regarder. Ceci est rendu possible en organisant vos fichiers source et exécutables séparément et en contrôlant tout à partir d'un répertoire de travail.

Lorsque vous commencez à ajouter des constructions telles que héritage à votre projet, la complexité du système de fichiers ne manquera pas d'augmenter. Dans de tels projets ou même ceux où l'utilisation de fichiers JAR ou de bibliothèques personnalisées est requise, la simple pratique de la séparation et de la gestion des fichiers peut vous faire économiser d'innombrables heures de dépannage et de débogage.

Pour en savoir plus sur le fonctionnement de classpath en Java et les nombreuses choses que vous pouvez contrôler lorsqu'il s'agit d'exécuter votre code, vous pouvez également jeter un œil à Oracle référence détaillée et conviviale .

Partager Partager Tweeter E-mail Les 10 meilleurs projets pour débutants pour les nouveaux programmeurs

Vous voulez apprendre la programmation mais vous ne savez pas par où commencer ? Ces projets et tutoriels de programmation pour débutants vous permettront de démarrer.

windows 10 pas de barre des tâches ni de menu démarrer
Lire la suite Rubriques connexes
  • La programmation
  • Java
A propos de l'auteur Yash Chellani(10 articles publiés)

Yash est un étudiant en informatique en herbe qui aime construire des choses et écrire sur tout ce qui concerne la technologie. Dans son temps libre, il aime jouer au squash, lire un exemplaire du dernier Murakami et chasser les dragons dans Skyrim.

Plus de Yash Chellani

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner