Java >> Tutoriel Java >  >> Tag >> class

Comment corriger "l'erreur :impossible de trouver ou de charger la classe principale" en Java ?

La méthode main() est nécessaire pour exécuter/exécuter des programmes développés dans le langage de programmation Java puisque c'est là que commence l'exécution du programme. Lors du démarrage d'un programme Java, vous pouvez rencontrer l'avertissement "error :Could not find or load main class .” Vous rencontrez ce problème car vous utilisez la commande Java pour exécuter main() depuis la classe.

Remarque :Vous pouvez également apprendre les erreurs et les exceptions en Python.

Comment résoudre le problème, impossible de trouver ou de charger la classe principale ?

Il existe de nombreuses façons de résoudre ce problème en fonction de la raison de l'apparition de cette erreur. Nous discuterons de chaque raison une par une et essaierons de résoudre ce problème.

Quelles sont les causes ou raisons possibles de cette erreur ?

Il y a plusieurs raisons à ce problème, qui sont énumérées ci-dessous.

  • Extension de fichier
  • Mauvais colis
  • Le chemin de classe n'est pas valide
  • Le nom de la classe est incorrect

Extension de fichier

Nous devons enregistrer le fichier de code source Java avec l'extension .java pour le compiler. Pour compiler un programme Java, Java Compiler est utilisé comme (commande javac). Après compilation, le fichier .java sera converti en un fichier .class.

En conséquence, votre fichier de code source se terminera par .java, tandis que le fichier produit se terminera par .class. Pour compiler le code source, nous utilisions le nom de fichier, mais pour exécuter un fichier compilé, nous ne pouvons pas utiliser le nom du fichier mais le nom de la classe. Sinon, il lancera une erreur comme dans l'exemple ci-dessous.

Exemple :HelloWorld.java

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
 

Compilation du programme HelloWorld

Exécuter/Exécuter HelloWorld avec le nom de fichier.

Exécuter/Exécuter HelloWorld avec le nom de la classe.

Mauvais colis

Packages utilisés en Java pour les classes liées aux groupes afin d'écrire un meilleur code maintenable. Pour éviter les conflits de noms dans les classes de groupe, nous pouvons utiliser des packages dans la programmation Java. Pour lancer une classe Java dans un package, nous devons utiliser packageName avec un nom de classe complet. Nous ne pouvons pas l'exécuter directement en utilisant le nom de la classe comme dans l'exemple précédent, et si nous le faisons, nous obtiendrons l'erreur.

Exemple :HelloWorld.java

Package com.baeldung;
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
 

Compilation du programme HelloWorld

Exécution/Exécution de HelloWorld sans nom de package.

Exécuter/Exécuter HelloWorld avec le nom de la classe.

Il affiche toujours une erreur car il n'a pas pu trouver le fichier HelloWorld dans com/baeldung. Nous devons revenir au répertoire parent et le réexécuter.

Le chemin de classe n'est pas valide.

La machine virtuelle Java recherche dans le chemin de classe les classes, les packages et les ressources définis par l'utilisateur dans les programmes Java. Si vous avez correctement indiqué le nom de la classe mais que vous recevez toujours la même erreur, la commande Java n'a probablement pas pu localiser le nom de classe fourni à l'emplacement. Par conséquent, vous devez d'abord confirmer que l'emplacement de votre fichier .class est inclus dans votre chemin de classe.

Exemple :HelloWorld.java

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
 

Compilation du programme HelloWorld

Exécuter/Exécuter HelloWorld à l'emplacement par défaut.

Exécuter/Exécuter HelloWorld à l'emplacement où le fichier existe.

Le nom de la classe est incorrect.

Ce problème peut se produire si le nom de votre fichier Java (.java) et le nom de la classe principale sont différents. Pour l'exemple, nous avons créé le nom de classe HelloWorld et le nom du fichier est HelloWorld.java. Changeons le nom de la classe et exécutons le programme.

Exemple :HelloWorld.java

public class helloworld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
 

Compilation du programme HelloWorld

Conclusion

Dans cet article, nous avons essayé de résoudre une erreur Java qui ne pouvait pas trouver ou charger la classe principale différemment. Nous avons discuté de certaines raisons de cette erreur et, en fonction de ces raisons, appliqué les méthodes pour corriger l'erreur. De plus, nous avons effectué des exemples de codage avec des exécutions avec des conditions d'erreur et avons résolu l'erreur en conséquence.

Sujets liés à Java :

  • Comment générer un nombre aléatoire en Java ?
  • Comment convertir une chaîne en entier de 3 manières différentes ?
  • Comment convertir un entier en chaîne de 3 manières différentes ?

Balise Java