Maison > Java > javaDidacticiel > Pourquoi est-ce que j'obtiens \'java.lang.NoClassDefFoundError\' lors de l'exécution de Java à partir de la ligne de commande ?

Pourquoi est-ce que j'obtiens \'java.lang.NoClassDefFoundError\' lors de l'exécution de Java à partir de la ligne de commande ?

Patricia Arquette
Libérer: 2024-10-30 12:09:03
original
951 Les gens l'ont consulté

Why Am I Getting

Dépannage de l'exécution de Java à partir de la ligne de commande

L'exécution d'une classe Java compilée (.class) à partir de la ligne de commande peut parfois rencontrer des erreurs. L'un de ces problèmes courants est l'erreur « java.lang.NoClassDefFoundError : [nom de classe] ». Cela se produit lorsque le runtime Java ne parvient pas à localiser la définition de classe nécessaire dans le chemin de classe.

Synopsis du problème

Une classe Java, Echo.class, existe dans le répertoire actuel et l'utilisateur a tenté d'exécuter en utilisant :

java Echo "hello"
Copier après la connexion

Cependant, la commande ci-dessus a généré un message d'erreur indiquant que la classe Echo n'a pas été trouvée.

Résolution

Pour résoudre le problème, un doit spécifier le répertoire courant dans le chemin de classe, ce qui peut être réalisé en utilisant l'option -cp dans la commande java :

java -cp . Echo "hello"
Copier après la connexion

Alternativement, on peut définir la variable d'environnement CLASSPATH pour inclure le répertoire courant :

SET CLASSPATH=%CLASSPATH;.

java Echo "hello"
Copier après la connexion

Considérations supplémentaires

Après avoir résolu NoClassDefFoundError, l'erreur suivante peut survenir :

Exception in thread "main" java.lang.NoSuchMethodError: main
Copier après la connexion

Cela se produit si la classe Echo ne contient pas de main vide statique publique (String [] arguments). Pour le résoudre, assurez-vous que la classe dispose d'une méthode principale conforme au modèle de classe principale.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal