Salut à tous, j'ai le même problème...enfin presque. je m'explique : j'avais le même problème alors j'ai tout bien suivi tout ce qui à été dis plus haut et rien du tout. Me disant que j'avais probablement fait un truc pas bien dans l'installation j'ai tout enlevé pour tout remettre et la miracle, ça marche...jusqu'au lendemain!!! je suis retourné dans les forum et j'ai essayé de trouver une solution en regardant les variables utilisateur d'autres personnes et j'ai remarqué que sur certaines, %PATH% était inscrit à la fin. j'essaie et la BINGO ça remarche. Et la ce soir, je reteste et pour rezutzutuzt ça remet ce foutu message d'erreur. je me suis dis ça marche dans un ses, pourquoi pas dans l''autre. j'enlève le %PATH% et ça remarche...franchement c'est lourd. n'y aurait il pas une solution??? j'ai vraiment envie d'apprendre à programmer en java mais la ça commence à devenir agaçant.
PS : je suis sous W8 et je ne travaille qu'avec un invite de commande et un éditeur de text (bloc note) car à ce qu'il paraît c'est bien mieux pour apprendre à programmer
J'ai le même problème que tout le monde ou presque ici.
Je suis le cours JAVA. et j'en suis au fameux programme HELLO WORLD.
J'ai suivi tout ce qui est écrit dans le cours. et je me retrouve avec cette erreur :
"Erreur : Impossible de trouver ou charger la classe principale sdz1. J'ai lu tout ce qui a été écrit dans cette page du cours concernant la compilation via JDK plutôt que par JRE (si j'ai bien tout compris). A un moment, il est demandé de supprimé le fichier .class qui se trouve dans le projet afin de bien constater la compilation par la commande javac, etc.etc.
J'ai donc supprimé le fichier sdz1.class qui se trouvait dans projet1/bin/projet1/
Ensuite j'ai lancé javac sdz1.java => tout se passe bien
Par contre je constate qu'à la différence d'eclipse (où j'avais un fichier class dans projet1/bin/projet1/ de mon projet), j'ai un fichier sdz1.class qui se trouve dans projet1/src/projet1/, là où il y avait mon fichier sdz1.java
ENfin, tout ça pour dire que j'ai tenté d'exécuter java sdz1 dans tous les répertoires possibles du projet et rien n'y fait, j'ai toujours la même erreur.
Alors je me demande si ce n'est pas dû à la suppression du .class dans le répertoire bin....
car même sous eclipse ça ne fonctionne plus... exactement la même erreur.
mon code ressemble à ça :
package projet1;
public class sdz1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//pgm afficher hello world
System.out.print("Hello WORLD !\n");
System.out.println("My name is");
System.out.println("\nCysboy");
// \n pour passer à la ligne ; \r pour un retour chariot ; \t pour une tabulation
}
}
Et mon arborescence à ça :
...\eclipse\javaworkspace\projet1\bin\projet1 => là où se trouvait le fichier class que j'ai supprimé sur la demande du cours
...\eclipse\javaworkspace\projet1\src\projet1 => là où se trouve mon fichier java et donc le fichier class généré à l'exécution de la commande javac (je suppose que comme c'est là que je me trouvais quand je l'ai lancée, c'est là qu'il a été mis)
QUoi qu'il en soit, j'ai essayé d'exécuté à tous les nouveaux et rien n'y fait. J'ai également tenté de supprimer la valeur de ma variable CLASSPATH (en laissant néanmoins le . car je pense que ça veut juste dire dossier courant).
Alors j'ai tout recommencé et cette fois-ci, je n'ai pas supprimé le .class du répertoire bin\projet2 (oui il fallait bien lui trouver un nom au nouveau projet).
MAis ça ne fonctionne toujours pas... (tests à différents niveaux de l'arborescence)
L'avantage c'est que sous eclipse, ça marche encore grâce à ce fichier .class du répertoire bin.
je vais continuer à chercher du côté de la variable PATH. peut-être que je ne l'ai pas mise à jour correctement (et qu'elle fonctionnerait pour javac mais pas java)
@kalliemerraut pour effectuer l'exécution en ligne de commande d'un fichier byte code du type "Nom.class", il est préférable pour éviter les confusions avec les variables qui pourrait être défini sur votre PC de préciser la localisation de votre "classpath" dans la ligne de commande.
Par exemple si vous avez un programme source "test.java", ouvrez une console windows et allez dans le répertoire où se trouve votre programme source :
1/ passez la commande : javac test.java pour obtenir un fichier résultat "test.class" dans le répertoire courant (si pas d'erreur à la compilation)
2/ pour exécuter ce fichier, passez la commande : java -cp "%cd%" tes
remarques : -cp "%cd%" permet d'indiquer que le/les class se trouve dans le répertoire courant (ne pas oublier les doubles guillements)
Merci pour ta réponse. Tes explications sont claires
Malheureusement, ça ne fonctionne pas
Voici ce que j'ai fait et j'ai toujours la même erreur :
D:\WWW\eclipse\javaworkspace\projet2\src\projet2>
D:\WWW\eclipse\javaworkspace\projet2\src\projet2>java -cp "%cd%" HelloWorld
Erreur : impossible de trouver ou charger la classe principale HelloWorld
D:\WWW\eclipse\javaworkspace\projet2\src\projet2>dir
Le volume dans le lecteur D s'appelle Data
Le numéro de série du volume est 6A15-941B
Répertoire de D:\WWW\eclipse\javaworkspace\projet2\src\projet2
14/03/2015 11:48 <REP> .
14/03/2015 11:48 <REP> ..
14/03/2015 11:48 507 HelloWorld.class
14/03/2015 12:38 766 HelloWorld.java
2 fichier(s) 1 273 octets
2 Rép(s) 152 828 575 744 octets libres
D:\WWW\eclipse\javaworkspace\projet2\src\projet2>
j'ai tenté avec les deux projets (tous deux helloworld) mais ça ne fonctionne pas non plus :
D:\WWW\eclipse\javaworkspace\projet1\src\projet1>dir
Le volume dans le lecteur D s'appelle Data
Le numéro de série du volume est 6A15-941B
Répertoire de D:\WWW\eclipse\javaworkspace\projet1\src\projet1
14/03/2015 11:05 <REP> .
14/03/2015 11:05 <REP> ..
11/03/2015 22:16 381 sdz1.java
1 fichier(s) 381 octets
2 Rép(s) 152 828 571 648 octets libres
D:\WWW\eclipse\javaworkspace\projet1\src\projet1>
D:\WWW\eclipse\javaworkspace\projet1\src\projet1>
D:\WWW\eclipse\javaworkspace\projet1\src\projet1>javac sdz1.java
D:\WWW\eclipse\javaworkspace\projet1\src\projet1>
D:\WWW\eclipse\javaworkspace\projet1\src\projet1>java sdz1
Erreur : impossible de trouver ou charger la classe principale sdz1
D:\WWW\eclipse\javaworkspace\projet1\src\projet1>
D:\WWW\eclipse\javaworkspace\projet1\src\projet1>dir
Le volume dans le lecteur D s'appelle Data
Le numéro de série du volume est 6A15-941B
Répertoire de D:\WWW\eclipse\javaworkspace\projet1\src\projet1
21/03/2015 10:47 <REP> .
21/03/2015 10:47 <REP> ..
21/03/2015 10:47 495 sdz1.class
11/03/2015 22:16 381 sdz1.java
2 fichier(s) 876 octets
2 Rép(s) 152 828 571 648 octets libres
D:\WWW\eclipse\javaworkspace\projet1\src\projet1>java -cp "%cd%" sdz1
Erreur : impossible de trouver ou charger la classe principale sdz1
D:\WWW\eclipse\javaworkspace\projet1\src\projet1>
Oh mon dieu! Je galère depuis 1 h, et je découvre que mes noms sont case sensitiv...
je faisais ma ligne de commande : >java project1/monjava (suivre le post de SijuVabien de 8 juin)
j'avais le message "impossible de trouver ou charger la classe principale project1.monjava". Je jure et je plante des aiguilles dans une petite poupée que j'ai appelé Sijuvabien.
je fais >java project1/MonJava
et ça marche!!!
Je suis sous windows8, je suis perturbée par ce résultat... je croyais au lapin de Pâques, que le McDo ne faisait pas trop grossir, et au case Insensitiv de mes noms de fichiers ... que me reste-t-il?
Eureka, je viens de comprendre, MonJava est un argument de ligne de commande, il peut être case sensitiv... Ouf! mes convictions sont sauvées.
Sijuvabien, désolée si tu as des bobos dans les jours qui viennent, j'ai planté mes aiguilles un peu vite.
votre aide svp, je suis entrain de developper un programme en java mais le popupmenu ne s'affiche pas sur mon panneau parcequ'uniquement j'ai changé le gestion par defaut (FlowLayout en BorderLayout) de panneau alors je ne sais quoi faire!!
J'utilise Netbeans sous Windows mais il doit y avoir un équivalent avec Eclipse, pour ne pas se poser la moindre question sur le chemin à renseigner dans la commande, faire ceci (exemple avec la classe Maclasse):
clic droit sur le fichier Maclasse.class visible dans l’arborescence des projets de l'IDE, aller dans propriétés et copier le chemin du runtime classpath . (si le .class est absent cliquer sur le bouton Build Project)
commande: javac machin... est inutile car le fichier source déjà compilé par Netbeans à chaque ''Build'' . (mais on peut aller chercher le runtime classpath du .java aussi pour faire cette étape manuellement)
Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.
Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre. En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.
Au lieu de déterrer un sujet il est préférable :
soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
soit de créer un nouveau sujet décrivant votre propre contexte
ne pas répondre à un déterrage et le signaler à la modération
www.warchess.ovh
www.warchess.ovh