Bonjour à tous,
je m'initie à Java avec le livre "Programmer en Java" (éd Eyrolles).
J'ai téléchargé les exemples du livre et les ai tous regroupés dans le même répertoire, pour simplifier. J'essaie ce petit programme (en mode console MS DOS):
public class PremProg
//genes\PremProg.java
{ public static void main (String[] args)
{ System.out.println ("Mon premier programme Java") ;
}
}
Pas d'erreur de compilation mais à l'exécution, j'ai la série de messages suivante:
Exception in thread "main" java.lang.NoClassDefFoundError: PremProg
Caused by: java.lang.ClassNotFoundException: PremProg
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)
Could not find the main class: PremProg. Program will exit.
Pouvez-vous m'indiquer ce qui cause ces erreurs?
Cordialement,
Michel
Le Sat, 18 Feb 2012 17:47:24 -0600 mimidu74 a écrit :
remy a écrit le 17/02/2012 à 14h52 : > Le 17/02/2012 12:29, remy a écrit : >> Le 16/02/2012 00:23, mimidu74 a écrit : >>> Bonjour à tous, >>> je m'initie à Java avec le livre "Programmer en Java" >>> (éd Eyrolles ). >>> J'ai téléchargé les exemples du livre et les ai tous >>> regroupés dans le >>> même >>> répertoire, pour simplifier. J'essaie ce petit programme (en mode >>> console MS >>> DOS): >>> >>> public class PremProg >>> //genesPremProg.java >>> { public static void main (String[] args) >>> { System.out.println ("Mon premier programme Java") ; >>> } >>> } >>> Pas d'erreur de compilation mais à l'exécution, j'ai la >>> série de messages >>> suivante: >>> Exception in thread "main" java.lang.NoClassDefFoundError: >>> PremProg Caused by: java.lang.ClassNotFoundException: PremProg >>> 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) >>> Could not find the main class: PremProg. Program will exit. >>> >>> Pouvez-vous m'indiquer ce qui cause ces erreurs? >>> >> >> tu ne veux pas nous envoyer un ls ou dir histoire de >> >> >> > il faut écrire > java PremProg > et pas > java PremProg.java ou java PremProg.class > > remy > > >> remy >> >> >> >> > -- > http://remyaumeunier.chez-alice.fr/ Bonjour à tous, après quelques recherches sur GNT, j'ai trouvé la solution: il me fallait aussi paramétrer la variable ClassPath avec le chemin d'accès au répertoire contenant les fichiers programmes. Ça marche mieux maintenant! Je vais pouvoir avancer. Merci à tous ceux qui se sont penchés sur mon problème. Cordialement,
Michel
Une variable d'environnement ? Ou une option de la cligne de commande ? Et dans ce deuxième cas, ça ne marchait pas avec "java -cp . PremProg" ?
Bonjour Yliur, - option -cp: il faut indiquer à chaque fois le chemin (ce que tu ne me précisais pas); trop long pour moi. Il existe peut-être des techniques de raccourcis; - variable d'environnement: oui, j'avais oublié ce détail. Il faut chercher un peu mais le résultat est plus simple. Je commence par les bases mais je ne cherche pas, pour l'instant, à connaître les nombreuses options des commandes en ligne. Cordialement, Michel
Yliur a écrit le 19/02/2012 à 02h50 :
Le Sat, 18 Feb 2012 17:47:24 -0600
mimidu74 a écrit :
remy a écrit le 17/02/2012 à 14h52 :
> Le 17/02/2012 12:29, remy a écrit :
>> Le 16/02/2012 00:23, mimidu74 a écrit :
>>> Bonjour à tous,
>>> je m'initie à Java avec le livre "Programmer en
Java"
>>> (éd Eyrolles ).
>>> J'ai téléchargé les exemples du livre et les
ai tous
>>> regroupés dans le
>>> même
>>> répertoire, pour simplifier. J'essaie ce petit programme
(en mode
>>> console MS
>>> DOS):
>>>
>>> public class PremProg
>>> //genesPremProg.java
>>> { public static void main (String[] args)
>>> { System.out.println ("Mon premier programme Java") ;
>>> }
>>> }
>>> Pas d'erreur de compilation mais à l'exécution,
j'ai la
>>> série de messages
>>> suivante:
>>> Exception in thread "main"
java.lang.NoClassDefFoundError:
>>> PremProg Caused by: java.lang.ClassNotFoundException: PremProg
>>> 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)
>>> Could not find the main class: PremProg. Program will exit.
>>>
>>> Pouvez-vous m'indiquer ce qui cause ces erreurs?
>>>
>>
>> tu ne veux pas nous envoyer un ls ou dir histoire de
>>
>>
>>
> il faut écrire
> java PremProg
> et pas
> java PremProg.java ou java PremProg.class
>
> remy
>
>
>> remy
>>
>>
>>
>>
> --
> http://remyaumeunier.chez-alice.fr/
Bonjour à tous,
après quelques recherches sur GNT, j'ai trouvé la solution: il
me
fallait aussi paramétrer la variable ClassPath avec le chemin
d'accès
au répertoire contenant les fichiers programmes.
Ça marche mieux maintenant! Je vais pouvoir avancer.
Merci à tous ceux qui se sont penchés sur mon problème.
Cordialement,
Michel
Une variable d'environnement ? Ou une option de la cligne de commande ?
Et dans ce deuxième cas, ça ne marchait pas avec "java -cp .
PremProg" ?
Bonjour Yliur,
- option -cp: il faut indiquer à chaque fois le chemin (ce que tu ne me précisais pas); trop long pour moi. Il existe peut-être des techniques de raccourcis;
- variable d'environnement: oui, j'avais oublié ce détail. Il faut chercher un peu mais le résultat est plus simple.
Je commence par les bases mais je ne cherche pas, pour l'instant, à connaître les nombreuses options des commandes en ligne.
Cordialement,
Michel
Le Sat, 18 Feb 2012 17:47:24 -0600 mimidu74 a écrit :
remy a écrit le 17/02/2012 à 14h52 : > Le 17/02/2012 12:29, remy a écrit : >> Le 16/02/2012 00:23, mimidu74 a écrit : >>> Bonjour à tous, >>> je m'initie à Java avec le livre "Programmer en Java" >>> (éd Eyrolles ). >>> J'ai téléchargé les exemples du livre et les ai tous >>> regroupés dans le >>> même >>> répertoire, pour simplifier. J'essaie ce petit programme (en mode >>> console MS >>> DOS): >>> >>> public class PremProg >>> //genesPremProg.java >>> { public static void main (String[] args) >>> { System.out.println ("Mon premier programme Java") ; >>> } >>> } >>> Pas d'erreur de compilation mais à l'exécution, j'ai la >>> série de messages >>> suivante: >>> Exception in thread "main" java.lang.NoClassDefFoundError: >>> PremProg Caused by: java.lang.ClassNotFoundException: PremProg >>> 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) >>> Could not find the main class: PremProg. Program will exit. >>> >>> Pouvez-vous m'indiquer ce qui cause ces erreurs? >>> >> >> tu ne veux pas nous envoyer un ls ou dir histoire de >> >> >> > il faut écrire > java PremProg > et pas > java PremProg.java ou java PremProg.class > > remy > > >> remy >> >> >> >> > -- > http://remyaumeunier.chez-alice.fr/ Bonjour à tous, après quelques recherches sur GNT, j'ai trouvé la solution: il me fallait aussi paramétrer la variable ClassPath avec le chemin d'accès au répertoire contenant les fichiers programmes. Ça marche mieux maintenant! Je vais pouvoir avancer. Merci à tous ceux qui se sont penchés sur mon problème. Cordialement,
Michel
Une variable d'environnement ? Ou une option de la cligne de commande ? Et dans ce deuxième cas, ça ne marchait pas avec "java -cp . PremProg" ?
Bonjour Yliur, - option -cp: il faut indiquer à chaque fois le chemin (ce que tu ne me précisais pas); trop long pour moi. Il existe peut-être des techniques de raccourcis; - variable d'environnement: oui, j'avais oublié ce détail. Il faut chercher un peu mais le résultat est plus simple. Je commence par les bases mais je ne cherche pas, pour l'instant, à connaître les nombreuses options des commandes en ligne. Cordialement, Michel
Bertrand Usse
mimidu74 wrote:
[snip]
Une variable d'environnement ? Ou une option de la cligne de commande ? Et dans ce deuxième cas, ça ne marchait pas avec "java -cp . PremProg" ?
Bonjour Yliur, - option -cp: il faut indiquer à chaque fois le chemin (ce que tu ne me précisais pas); trop long pour moi. Il existe peut-être des techniques de raccourcis;
"ce que tu ne me précisais pas" => en fait si puisque "." signifie plus ou moins "le dossier courant" mais - pour faire simple - ça ne fonctionne qu'à partir du dossier contenant les fichiers .class à lancer.
Sinon, il faut - comme tu l'as compris - préciser le chemin complet ou relatif en partant du dossier de travail courant.
(pour info : ".." signifie (toujours plus ou moins) "le dossier parent du dossier courant") (je précise "plus ou moins" parce que la définition est plus complexe que ces simples périphrases entre guillemets et de plus sont hors de propos sur ce ng)
- variable d'environnement: oui, j'avais oublié ce détail. Il faut chercher un peu mais le résultat est plus simple. Je commence par les bases mais je ne cherche pas, pour l'instant, à connaître les nombreuses options des commandes en ligne.
C'est pourtant assez rapidement indispensable ; la preuve en est avec ce premier problème consistant à simplement exécuter/lancer un programme ...
Cordialement, Michel
mimidu74 wrote:
[snip]
Une variable d'environnement ? Ou une option de la cligne de commande ?
Et dans ce deuxième cas, ça ne marchait pas avec "java -cp .
PremProg" ?
Bonjour Yliur,
- option -cp: il faut indiquer à chaque fois le chemin (ce que tu ne me
précisais pas); trop long pour moi. Il existe peut-être des techniques de
raccourcis;
"ce que tu ne me précisais pas" => en fait si puisque "." signifie plus
ou moins "le dossier courant" mais - pour faire simple - ça ne
fonctionne qu'à partir du dossier contenant les fichiers .class à lancer.
Sinon, il faut - comme tu l'as compris - préciser le chemin complet ou
relatif en partant du dossier de travail courant.
(pour info : ".." signifie (toujours plus ou moins) "le dossier parent
du dossier courant") (je précise "plus ou moins" parce que la définition
est plus complexe que ces simples périphrases entre guillemets et de
plus sont hors de propos sur ce ng)
- variable d'environnement: oui, j'avais oublié ce détail. Il faut chercher un
peu mais le résultat est plus simple.
Je commence par les bases mais je ne cherche pas, pour l'instant, à connaître
les nombreuses options des commandes en ligne.
C'est pourtant assez rapidement indispensable ; la preuve en est avec ce
premier problème consistant à simplement exécuter/lancer un programme ...
Une variable d'environnement ? Ou une option de la cligne de commande ? Et dans ce deuxième cas, ça ne marchait pas avec "java -cp . PremProg" ?
Bonjour Yliur, - option -cp: il faut indiquer à chaque fois le chemin (ce que tu ne me précisais pas); trop long pour moi. Il existe peut-être des techniques de raccourcis;
"ce que tu ne me précisais pas" => en fait si puisque "." signifie plus ou moins "le dossier courant" mais - pour faire simple - ça ne fonctionne qu'à partir du dossier contenant les fichiers .class à lancer.
Sinon, il faut - comme tu l'as compris - préciser le chemin complet ou relatif en partant du dossier de travail courant.
(pour info : ".." signifie (toujours plus ou moins) "le dossier parent du dossier courant") (je précise "plus ou moins" parce que la définition est plus complexe que ces simples périphrases entre guillemets et de plus sont hors de propos sur ce ng)
- variable d'environnement: oui, j'avais oublié ce détail. Il faut chercher un peu mais le résultat est plus simple. Je commence par les bases mais je ne cherche pas, pour l'instant, à connaître les nombreuses options des commandes en ligne.
C'est pourtant assez rapidement indispensable ; la preuve en est avec ce premier problème consistant à simplement exécuter/lancer un programme ...
Cordialement, Michel
Anonyme
Bertrand Usse a écrit le 24/02/2012 à 17h59 :
mimidu74 wrote:
[snip]
Une variable d'environnement ? Ou une option de la cligne de commande ? Et dans ce deuxième cas, ça ne marchait pas avec "java -cp . PremProg" ?
Bonjour Yliur, - option -cp: il faut indiquer à chaque fois le chemin (ce que tu ne me précisais pas); trop long pour moi. Il existe peut-être des techniques de raccourcis;
"ce que tu ne me précisais pas" => en fait si puisque "." signifie plus ou moins "le dossier courant" mais - pour faire simple - ça ne fonctionne qu'à partir du dossier contenant les fichiers .class à lancer.
Sinon, il faut - comme tu l'as compris - préciser le chemin complet ou relatif en partant du dossier de travail courant.
(pour info : ".." signifie (toujours plus ou moins) "le dossier parent du dossier courant") (je précise "plus ou moins" parce que la définition est plus complexe que ces simples périphrases entre guillemets et de plus sont hors de propos sur ce ng)
- variable d'environnement: oui, j'avais oublié ce détail. Il faut chercher un peu mais le résultat est plus simple. Je commence par les bases mais je ne cherche pas, pour l'instant, à connaître les nombreuses options des commandes en ligne.
C'est pourtant assez rapidement indispensable ; la preuve en est avec ce premier problème consistant à simplement exécuter/lancer un programme ...
Cordialement, Michel
Bonjour Bertrand, je n'avais pas fait attention au symbole "." dans la commande. Je ne l'ai jamais utilisé, au bon vieux temps de MS-DOS, mais le symbole "..", ça oui... Je vais réserver la modification de la variable CLASPATH aux répertoires de projets. Merci aux contributeurs, bonne journée, Michel
Bertrand Usse a écrit le 24/02/2012 à 17h59 :
mimidu74 wrote:
[snip]
Une variable d'environnement ? Ou une option de la cligne de commande ?
Et dans ce deuxième cas, ça ne marchait pas avec "java -cp
.
PremProg" ?
Bonjour Yliur,
- option -cp: il faut indiquer à chaque fois le chemin (ce que tu ne me
précisais pas); trop long pour moi. Il existe peut-être des
techniques de
raccourcis;
"ce que tu ne me précisais pas" => en fait si puisque
"." signifie plus
ou moins "le dossier courant" mais - pour faire simple - ça ne
fonctionne qu'à partir du dossier contenant les fichiers .class à
lancer.
Sinon, il faut - comme tu l'as compris - préciser le chemin complet ou
relatif en partant du dossier de travail courant.
(pour info : ".." signifie (toujours plus ou moins) "le dossier
parent
du dossier courant") (je précise "plus ou moins" parce
que la définition
est plus complexe que ces simples périphrases entre guillemets et de
plus sont hors de propos sur ce ng)
- variable d'environnement: oui, j'avais oublié ce détail. Il
faut chercher un
peu mais le résultat est plus simple.
Je commence par les bases mais je ne cherche pas, pour l'instant, à
connaître
les nombreuses options des commandes en ligne.
C'est pourtant assez rapidement indispensable ; la preuve en est avec ce
premier problème consistant à simplement exécuter/lancer
un programme ...
Cordialement,
Michel
Bonjour Bertrand,
je n'avais pas fait attention au symbole "." dans la commande. Je ne l'ai jamais utilisé, au bon vieux temps de MS-DOS, mais le symbole "..", ça oui...
Je vais réserver la modification de la variable CLASPATH aux répertoires de projets.
Merci aux contributeurs, bonne journée,
Michel
Une variable d'environnement ? Ou une option de la cligne de commande ? Et dans ce deuxième cas, ça ne marchait pas avec "java -cp . PremProg" ?
Bonjour Yliur, - option -cp: il faut indiquer à chaque fois le chemin (ce que tu ne me précisais pas); trop long pour moi. Il existe peut-être des techniques de raccourcis;
"ce que tu ne me précisais pas" => en fait si puisque "." signifie plus ou moins "le dossier courant" mais - pour faire simple - ça ne fonctionne qu'à partir du dossier contenant les fichiers .class à lancer.
Sinon, il faut - comme tu l'as compris - préciser le chemin complet ou relatif en partant du dossier de travail courant.
(pour info : ".." signifie (toujours plus ou moins) "le dossier parent du dossier courant") (je précise "plus ou moins" parce que la définition est plus complexe que ces simples périphrases entre guillemets et de plus sont hors de propos sur ce ng)
- variable d'environnement: oui, j'avais oublié ce détail. Il faut chercher un peu mais le résultat est plus simple. Je commence par les bases mais je ne cherche pas, pour l'instant, à connaître les nombreuses options des commandes en ligne.
C'est pourtant assez rapidement indispensable ; la preuve en est avec ce premier problème consistant à simplement exécuter/lancer un programme ...
Cordialement, Michel
Bonjour Bertrand, je n'avais pas fait attention au symbole "." dans la commande. Je ne l'ai jamais utilisé, au bon vieux temps de MS-DOS, mais le symbole "..", ça oui... Je vais réserver la modification de la variable CLASPATH aux répertoires de projets. Merci aux contributeurs, bonne journée, Michel