Impossible de trouver ou charger la classe

Résolu/Fermé
bilach - Modifié le 31 janv. 2019 à 17:06
KX
Messages postés
16563
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
1 juillet 2022
- 18 avril 2016 à 20:36
Bonjour,

je viens de débuter en java et voilà mon premier problème est survenu..
" impossible de trouver ou charger la classe principale" suivi du nom de la classe
lorsque j'exécute la commande "JAVA" dans l'invite commande
j'ai fais tout d'abord la compilation du fichier .java avec la commande JAVAC
aucune erreur n'a parvenue lors de l'exécution de cette commande.

puisque je viens de commencer je ne sais pas vraiment si oui ou non mais voila mon tout petit premier programme (code source):


public class HelloImad { 
public static void main(String[] args) { 
int i = 0; 
while (i < 5) { 
System.out.println("Hello World !"); 
i++; 
} 
} 
}


Aidez moi svp
A voir également:

9 réponses

MagicSonic
Messages postés
1
Date d'inscription
lundi 2 juin 2014
Statut
Membre
Dernière intervention
2 juin 2014
6
Modifié le 31 janv. 2019 à 17:08
Salut à tous!

Je peut peut être vous aider car mon problème ressemblait aux votre...(compilation qui fonctionne mais exécution qui ne veut pas démarrer: "Je trouve pas la fonction statique ou la classe qui la contient blablabla" <- Je m'en fiche fonctionnes un point c'est tout!).

Pour que tout fonctionne correctement il faut vérifier les points suivants:
  • Votre variable PATH contient bien le chemin vers le fichier bin du JDK (chez moi "C:\Program Files\Java\jdk1.6.0_45\bin"). Ca chez vous c'est bon car vous avez pu compiler (si vous avez un message d'erreur qui dit que javac, java... ne peut être trouvé ou que ce n'est pas une commande reconnue, votre premier soucis vient d'ici).
  • Truc tout bête mais vérifiez bien que votre classe contenant la fonction main publique et statique soit bien publique (le compilateur vous dira rien lui :/ ):


public class Main
{
 public static void main(String args[])
 {
  System.out.println("Hello world!");
 }
}
  • Enfin, les commande à exécuter pour compiler le tout sont (sous windows):


cd LeDossierContenantVosClasses        // Chez moi cd Bureau\TestJava
java -cp "%cd%" NomDeVotreClasse    // Dans l'exemple c'est Main (sans le class!)


La première commande vous place dans le dossier où il y a vos fichier .class (obtenus grâce à la compilation en utilisant javac). C'est indispensable.

La deuxième lance l'exécution. Le flag cp veut dire classpath (comme ça on dit explicitement à java où se trouvent nos .class). La valeur "%cd%" c'est le chemin absolu jusqu'au Dossier LeDossierContenantVosClasses (je le mets entre "" parce que sinon la commande est mal interprétée).
Puis NomDeVotreClasse est le fichier .class contenant la fonction main statique.

Voilà j'espère que j'ai pu vous être utile ou que ça pourra en aider d'autres.

Bonne journée à tous!
11