Envoyé par mehdiing
Je veux savoir ce que tu as tapé exactement!
Envoyé par mehdiing
Je veux savoir ce que tu as tapé exactement!
essais:
C:\Users\lwsy\Documents> C:\Program Files\java\jdk1.6.0_01\bin\java TestCube
si TestCube.class est bien dans C:\Users\lwsy\Documents![]()
salut,
pour ne pas avoi toujours accès au dossier bin du jdk ajoute le dans le path du système, puis tu poura lancer javac ou java d'où tu veut.
pour la compilation des classes c'est plus simple de te placer dans le classe qui les contient où aussi sera généré le fichier .class.
Slt,Envoyé par mehdiing
j'ai mis dans le path: C:\Program Files\java\jdk1.6.0_01\bin\ ça me permet ainsi de ne plus taper à tout moment le même chemin.Je peux ainsi lancer javac ou java d'où je veux. j'arrive maintenant à compiler en tapant juste javac TestCube.java.
Mais le problème de voir l'exécution du programme démeure.J'ai le même message d'erreur.C'est comme s'il n'arrive pas à trouver la classe.
J'ai essayé d'executer ce programme sur eclipse comme vous me l'aviez demandé.J'ai les resultats.ça marche bien.
Mais je ne baisse pas les bras, j'essaie de voir pourquoi ça ne marche pas en utilisant MSDOS.J'ai appris plein de choses au cours de nos discussions.A plus tard.Je reviendrai toujours
Salut,
Tu tapes bien : "java TestCube" ?
Si oui, quel est le message que tu obtiens ?
@+
Ca parait idiot, mais tu tapes bien les majuscules où il faut ?
Sinon, voici ce que tu reçois :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 D:\>java testCube Exception in thread "main" java.lang.NoClassDefFoundError: testCube (wrong name: TestCube) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$000(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) D:\>java TestCube 0 0 1 1 2 8 3 27 4 64 5 125
Envoyé par fdubks
salut,
je tape bien : java TestCube
et je reçois comme message d'erreur:
exception in thread "main" java.lang.NoClassDefFoundError : C:\Users\lwsy\Documents\TestCube
le problème est certainement lié au chemin
C'est drôle car le message d'erreur ne semble pas correspondre à la commandeEnvoyé par Javamar
Tu lances la commande depuis quel répertoire ?
Où se situe ton fichier TestCube.class ?
a++
slt,Envoyé par adiGuba
en fait quand je compile TestCube.java, TestCube.class se retrouve dans mes documents.j'ai aussi TestCube.java dans mes documents.
en fait la commande que je tape est:
java C:\Users\lwsy\documents\TestCube
J'avais réussi à utiliser la variable path comme vous me l'aviez demandé.De ce fait je ne tape plus à tout moment le chemin qui correspond à path: C:\Program Files\java\jdk1.6.0_01\bin
juste pour dire que Documents et non documents sur mon messageEnvoyé par adiGuba
je ne sais pas peut-être que c'est problème de package! je vais voir çaEnvoyé par fdubks
Comme je l'ai dit dans mon premier message il y a près d'une semaine :Envoyé par Javamar
Et il faut définir le CLASSPATH si tu ne l'exécute pas du même répertoire que la classe...Envoyé par adiGuba
a++
PS : Pourquoi tu fait un quote d'un message entier pour une simple remarque ? Et pourquoi tu envoi plusieurs message au lieu de les regrouper tous dans un seul et même message ?
Ca rend le tout bien moins agréable à lire et à suivre...
Slt! Désolé pour cette longue abscence.C'est tout simplement parceque je n'ai pas encore un ordi pour exécuter mes codes.
Revenons à nos moutons:
J'arrive maintenant à compiler et à exécuter le programme.
En fait le modérateur avait raison de dire qu'il fallait utiliser les packages.Je reviendrai bientôt pour dire ce que j'ai fait pour que ça marche.à bientôt.
salut à tous!! En fait j'arrive à exécuter mon programme sur l'invite de commandes.Mais malheureusement c'est grâce à eclipse que j'ai crée mon projet (charles), mon package (emerson) et ma classe (Bonjour.java).
Mais mon plus grand problème actuellement est de faire ce travail sans passer par eclipse c'est à dire: créer mon package.Je ne sais pas comment s'y prendre.J'aimerais que vous m'aidiez dans ce sens, en m'indiquant pas à pas ce qu'il faut faire.
Pfiou...
Allez je suis de bonne humeur aujourd'hui, t'as de la chance.
Un package, c'est rien qu'un répertoire...
Si dans ton code tu déclares un package "mypack" de cette manière:
Alors la structure du projet sur le disque ressemblera à ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 package mypack; // première ligne du code public class MyClass {...} // définition de la classe, elle contient une "public static void main(String[] args)"
Pour compiler, tu ouvres une console, tu te déplaces jusqu'à "MyProject" (avec des commandes "cd ...")
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 +-- MyProject // racine du projet +-- mypack // répertoire représentant le package +-- MyClass.java // code source +-- MyClass.class // code compilé
Une fois là, tu te retrouves dans la situation suivante (dans la console):
Là, tu tappes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 C:\Documents\MyProject>
Ensuite pour exécuter, il faut remonter d'un niveau, tu tappes donc
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 cd mypack // pour aller dans le rép. mypack javac MyClass.java // pour compiler le fichier MyClass.java
pour lancer MyClass.java, il faut spécifier le nom du package, tu tappes donc:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2cd.. // pour revenir au répertoire "C:\Documents\MyProject"
Maintenant, un autre problème de débutant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2java mypack.MyClass // pour lancer MyClass du package mypack
Si tu as une classe qui a été compilée avec la ligne "package mypack;" comme c'est le cas de mon exemple, tu ne peut pas simplement déplacer le fichier .class dans un répertoire "mypack2" et penser que le simple fait d'exécuter "java mypack2.MyClass" fonctionnera. Bin oui, la notion de package est compilée dans les .class, et il faut strictement respecter leur déclaration dans l'arborescence de répertoires dans lequel tu places le fichier .class...
J'espère être clair... En tout cas je peux pas faire mieux...
Salut à tous! J'arrive maintenant à executer mes programmes.Je remercie tout le monde, particulièrement le modérateur Adiguba, le modérateur PILL S.Grâce à vous, je sais désormais ce que veut dire variable path, classpath, package.Sans les variables path, classpath, je n'aurai pas pu exécuter mes programmes.
tapes justeEnvoyé par Javamar
java TestCube
sans le chemin ...
Salut tout le monde!
Effectivement en définissant ma variable path=C:\Program Files\java\jdk1.6.0_01\bin.Je n'ai plus à taper le chemin C:\Program Files\java\jdk1.6.0_01\bin.La JVM va chercher toute seule dans bin la commande "javac " grâce au chemin indiqué dans path.
Ma classe Bonjour.java est dans "documents" c'est à dire C:\Users\lwsy\documents.
A partir de "documents" je tape la commande javac Bonjour.java, il se crée dans "documents" la classe Bonjour.java.
Ensuite je dois définir la variable classpath, sans laquelle la JVM ne pourra pas retrouver la classe Bonjour.
Je peux définir ma variable classpath, en indiquant par exemple la racine du chemin dans lequel la JVM va chercher la classe Bonjour.Dans le cas présent on peut prendre classpath=Users\lwsy.Ainsi à partir de "documents" en tapant : java Bonjour
la JVM va chercher la classe Bonjour dans tous les chemins dont la racine est Users\lwsy et elle trouvera Bonjour.class dans Users\lwsy\documents.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager