Pb avec mon prg java
domxav
-
poukkid Messages postés 108 Statut Membre -
poukkid Messages postés 108 Statut Membre -
Bonjour,
je sui novice dans le programmation
je vient d'ecrire un prg,qui suit:
public class sdz1
{
public static void main (String[] args)
{
System.out.print("Hello world!");
}
}
en le compilant avec javac sdz1.java dans le cmd (dos mod)
il affiche un error message suivante:
sdz1.java:1:class,interface,or enum expected
pourtant je fais marcher ce prg avec Eclipse, il n'y a aucun error,où est ce que je puisse tromper
veuillez m'aiderz s'il vous plaît
je sui novice dans le programmation
je vient d'ecrire un prg,qui suit:
public class sdz1
{
public static void main (String[] args)
{
System.out.print("Hello world!");
}
}
en le compilant avec javac sdz1.java dans le cmd (dos mod)
il affiche un error message suivante:
sdz1.java:1:class,interface,or enum expected
pourtant je fais marcher ce prg avec Eclipse, il n'y a aucun error,où est ce que je puisse tromper
veuillez m'aiderz s'il vous plaît
A voir également:
- Pb avec mon prg java
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
11 réponses
Salut,
Essaye
System.Out.println("Hello world!");
Pour aller plus vite sur eclipse, tu tapes sysout et Ctrl+espace...
Essaye
System.Out.println("Hello world!");
Pour aller plus vite sur eclipse, tu tapes sysout et Ctrl+espace...
Ca veut dire que la compilation s'est bien passée.
<javac sdzi.java> permet de compiler ton code source et créer autant de .class qu'il y a de classes dans ton code source.
Ensuite tu n'as plus qu'a exécuter la classe principale, soit ici sdz1 :
la commande (avec le chemin) est la suivante (sans extension pour sdzi):
c:\program files\java\sdz1\java sdzi
<javac sdzi.java> permet de compiler ton code source et créer autant de .class qu'il y a de classes dans ton code source.
Ensuite tu n'as plus qu'a exécuter la classe principale, soit ici sdz1 :
la commande (avec le chemin) est la suivante (sans extension pour sdzi):
c:\program files\java\sdz1\java sdzi
je fais comme tu m'ai dit
c:\program files\java\sdz1\java sdz1
il s'affiche suivant message:
Exception in thread "main" java. lang.NoClassDefFoundError:sdz1<wrong name sdz1/sdz1>
..............................................................................................................................
..............................................................................................................................
could not find the main class:adz1. Program will exit
c:\program files\java\sdz1\java sdz1
il s'affiche suivant message:
Exception in thread "main" java. lang.NoClassDefFoundError:sdz1<wrong name sdz1/sdz1>
..............................................................................................................................
..............................................................................................................................
could not find the main class:adz1. Program will exit
Ca veut dire qu'il ne trouve pas tes .class qui ont été compilés.
tu peux essayer de te placer dans le répertoire où ont été créés les .class.
Si ca ne marche toujours pas (un peu plus compliqué):
après avoir compilé avec <javac sdz1.java>, tu peux préciser lors de l'exécution avec <java> le chemin ou se trouve ton fichier.class :
java -cp chemin sdz1
(chemin est le chemin où se trouve le .class en question)
Pour cela, il faut savoir où se trouve le .class que java a créé lors de la compilation (fais une recherche)
ou alors précises lors de la compilation avec javac l'endroit où tu souhaites créer les fichiers .class:
compilation et création des fichiers .class dans c:\program files\java\sdz1\class :
c:\program files\java\sdz1\javac -d class sdz1.java
exécution en précisant l'emplacement des .class :
c:\program files\java\sdz1\java -cp class sdz1
tu peux essayer de te placer dans le répertoire où ont été créés les .class.
Si ca ne marche toujours pas (un peu plus compliqué):
après avoir compilé avec <javac sdz1.java>, tu peux préciser lors de l'exécution avec <java> le chemin ou se trouve ton fichier.class :
java -cp chemin sdz1
(chemin est le chemin où se trouve le .class en question)
Pour cela, il faut savoir où se trouve le .class que java a créé lors de la compilation (fais une recherche)
ou alors précises lors de la compilation avec javac l'endroit où tu souhaites créer les fichiers .class:
compilation et création des fichiers .class dans c:\program files\java\sdz1\class :
c:\program files\java\sdz1\javac -d class sdz1.java
exécution en précisant l'emplacement des .class :
c:\program files\java\sdz1\java -cp class sdz1
Ton programme marche-t-il ?
cp signifie classpath, c'est à dire le chemin (path) ou tu as stocké tes fichiers .class
si tu as des soucis avec cette option, tu peux également ecrire classpath en entier :
c:\program files\java\sdz1\java -classpath class sdz
d signifie directory, et permet de spécifier l'endroit où le compilateur va créer les .class
cp signifie classpath, c'est à dire le chemin (path) ou tu as stocké tes fichiers .class
si tu as des soucis avec cette option, tu peux également ecrire classpath en entier :
c:\program files\java\sdz1\java -classpath class sdz
d signifie directory, et permet de spécifier l'endroit où le compilateur va créer les .class
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Non, je réécrivais le chemin de ton dossier sdz1 pour que tu te repères, tu compile depuis
c:\program files\java\sdz1>
donc ne bouge pas de là, et lances juste ces deux lignes :
javac -d class sdz1.java
java -cp class sdz1
c:\program files\java\sdz1>
donc ne bouge pas de là, et lances juste ces deux lignes :
javac -d class sdz1.java
java -cp class sdz1
javac:directory not found:class
signifie que le répertoire class n'existe pas,
désolé c'est de ma faute, j'ai oublié de préciser qu'il fallait créer le répertoire class dans C:\program files\java\sdz1>
crée le (avec la commande mkdir class ou bien à la main dans windows) et relance la compilation puis l'exécution
signifie que le répertoire class n'existe pas,
désolé c'est de ma faute, j'ai oublié de préciser qu'il fallait créer le répertoire class dans C:\program files\java\sdz1>
crée le (avec la commande mkdir class ou bien à la main dans windows) et relance la compilation puis l'exécution
il s'affiche suivant message:
Exception in thread "main" java. lang.NoClassDefFoundError:sdz1/java caused by: java.lang.ClassNotFoundExecption:sdz1.java
..............................................................................................................................
..............................................................................................................................
could not find the main class:adz1. Program will exit
Exception in thread "main" java. lang.NoClassDefFoundError:sdz1/java caused by: java.lang.ClassNotFoundExecption:sdz1.java
..............................................................................................................................
..............................................................................................................................
could not find the main class:adz1. Program will exit
c:\program files\java\sdz1>javac -d class sdz1.java
il a bien compilé
et j'ai executé avec:
java -cp class sdz1.java
il s'affiche suivant message:
Exception in thread "main" java. lang.NoClassDefFoundError:sdz1<wrong name sdz1/sdz1>
..............................................................................................................................
..............................................................................................................................
could not find the main class:adz1. Program will exit
il a bien compilé
et j'ai executé avec:
java -cp class sdz1.java
il s'affiche suivant message:
Exception in thread "main" java. lang.NoClassDefFoundError:sdz1<wrong name sdz1/sdz1>
..............................................................................................................................
..............................................................................................................................
could not find the main class:adz1. Program will exit
Exception in thread "main" java. lang.NoClassDefFoundError:sdz1<wrong name sdz1/sdz1>
..............................................................................................................................
..............................................................................................................................
could not find the main class:adz1. Program will exit
Comme tu vois il cherche adz1 et non pas sdz1, verifie bien tous tes noms, noms de la classe dans le .java, nom du fichier, et les noms utilisés lors de la compilation, ton erreur vient d'une faute de frappe.
..............................................................................................................................
..............................................................................................................................
could not find the main class:adz1. Program will exit
Comme tu vois il cherche adz1 et non pas sdz1, verifie bien tous tes noms, noms de la classe dans le .java, nom du fichier, et les noms utilisés lors de la compilation, ton erreur vient d'une faute de frappe.
non,c'est moi qui a trompé c'est une erreur de frappe il cherche class sdz1,
dans mon repertoire j'ai bien sdz1.class
java -cp class sdz1.java
il s'affiche suivant message:
Exception in thread "main" java. lang.NoClassDefFoundError:sdz1<wrong name sdz1/sdz1>
..............................................................................................................................
..............................................................................................................................
could not find the main class:sdz1. Program will exit
dans mon repertoire j'ai bien sdz1.class
java -cp class sdz1.java
il s'affiche suivant message:
Exception in thread "main" java. lang.NoClassDefFoundError:sdz1<wrong name sdz1/sdz1>
..............................................................................................................................
..............................................................................................................................
could not find the main class:sdz1. Program will exit
Regarde bien les noms de fichiers, classe, compilation, etc parce que tu as un problème de frappe c'est sûr.
Si ca ne marche toujours pas, donne moi le chemin de ton compilateur javac.exe,
normalement c'est quelquechose du genre
c:\program files\Java\jdk1.6.0_13\bin\javac.exe
recopie le chemin et avec tu pourras compiler de n'importe où en précisant l'adresse du compilateur.
Si ca ne marche toujours pas, donne moi le chemin de ton compilateur javac.exe,
normalement c'est quelquechose du genre
c:\program files\Java\jdk1.6.0_13\bin\javac.exe
recopie le chemin et avec tu pourras compiler de n'importe où en précisant l'adresse du compilateur.
Place toi dans le répertoire où il y a ton fichier sdz1.java
a priori si tu n'as rien changé tu dois avoir ceci devant toi comme avant :
C:\program files\java\sdz1>
tapes juste ces deux lignes, ca devrait suffire a compiler et à lancer, j'ai testé chez moi et ça marche sans problème :
"c:\Program Files\Java\jdk1.6.0_12\bin\javac.exe" sdz1.java
"c:\Program Files\Java\jdk1.6.0_12\bin\java.exe" sdz1
(avec les guillemets surtout)
je reviendrais dans quelques heures, dis moi si ca a marché
a priori si tu n'as rien changé tu dois avoir ceci devant toi comme avant :
C:\program files\java\sdz1>
tapes juste ces deux lignes, ca devrait suffire a compiler et à lancer, j'ai testé chez moi et ça marche sans problème :
"c:\Program Files\Java\jdk1.6.0_12\bin\javac.exe" sdz1.java
"c:\Program Files\Java\jdk1.6.0_12\bin\java.exe" sdz1
(avec les guillemets surtout)
je reviendrais dans quelques heures, dis moi si ca a marché
De retour, désolé j'ai pas pu repasser depuis quelques jours.
A tester :
Recommence la ligne de commande "c:\Program Files\Java\jdk1.6.0_12\bin\javac.exe" dans dos en utilisant l'auto-complétion.
en gros, a chaque fois que tu commence a taper une partie du chemin (juste après un \), tu appuie sur la touche [tabulation] jusqu'a trouver la partie du chemin que tu voulais, et tu recommences jusqu'à arriver à javac.exe
en gros tu devrais taper un truc du genre :
c:\pro
[tab]
\ja
[tab]
\jd
[tab]
\b
[tab]
\ja
[tab]
et tu recommence ce que je t'ai donné comme indication précédemment.
Si ca ne marche toujours pas et que tes chemins sont justes de façon certaine (en ayant utilisé l'auto-complétion), alors ton problème doit certainement venir de ton classpath qu'il faut configurer, puisqu'il semblerait que ton systeme ne trouve pas tes classes.
Dans ce cas la je ne pourrais pas t'aider plus parce que je n'y connais pas grand chose, par contre tu peux aller voir ce lien qui devrait t'aider a terminer de résoudre tes problèmes:
http://www.commentcamarche.net/forum/affich 6156793 java lang noclassdeffounderror
A tester :
Recommence la ligne de commande "c:\Program Files\Java\jdk1.6.0_12\bin\javac.exe" dans dos en utilisant l'auto-complétion.
en gros, a chaque fois que tu commence a taper une partie du chemin (juste après un \), tu appuie sur la touche [tabulation] jusqu'a trouver la partie du chemin que tu voulais, et tu recommences jusqu'à arriver à javac.exe
en gros tu devrais taper un truc du genre :
c:\pro
[tab]
\ja
[tab]
\jd
[tab]
\b
[tab]
\ja
[tab]
et tu recommence ce que je t'ai donné comme indication précédemment.
Si ca ne marche toujours pas et que tes chemins sont justes de façon certaine (en ayant utilisé l'auto-complétion), alors ton problème doit certainement venir de ton classpath qu'il faut configurer, puisqu'il semblerait que ton systeme ne trouve pas tes classes.
Dans ce cas la je ne pourrais pas t'aider plus parce que je n'y connais pas grand chose, par contre tu peux aller voir ce lien qui devrait t'aider a terminer de résoudre tes problèmes:
http://www.commentcamarche.net/forum/affich 6156793 java lang noclassdeffounderror
et essayé compilé:
c:\program files\java\sdz1\javac sdzi.java
il m'affiche simplement
c:\program files\java\sdz1
pas d'autres
dans l'eclipse marche bien,seulement dans le dos mode marche pas