Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2976 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] erreur d'exécution: variables d'environnement?[résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JAVA] erreur d'exécution: variables d'environnement?[résolu]

n°242523
bobmorton
Posté le 10-11-2002 à 10:30:52  profilanswer
 

Voila j'ai un probleme que je n'ai jamais rencontré sous java. En effet j'arrive à compiler mes programmes mais je n'arrive pas à les exécuter, en effet voila ce qu'il me rend avec une classe que j'ai fait pour tester ce probleme qui devrait m'afficher rien et qui se trouve à la racine de mon c:\:
 
"C:\>jdk1.3.1_01\bin\java.exe c:\rien
Exception in thread "main" java.lang.NoClassDefFoundError: c:\rien"
 
J'ai entendu parler de variable d'environnement( je ne sais pas trop ce que sait) en fouillant sur le forum de jguru.com j'ai donc tenté de faire ceci:
 
 
C:\>set path c:\jdk1.3.1_01\bin
Path=C:\WINNT\system32;C:\WINNT;C:\WINNT\system32\WBEM;C:\UTILIT~1\ULTRAE~1
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
 
C:\>path
PATH=C:\WINNT\system32;C:\WINNT;C:\WINNT\system32\WBEM;C:\UTILIT~1\ULTRAE~1
 
C:\>set
ALLUSERSPROFILE=C:\Documents and Settings\All Users
APPDATA=C:\Documents and Settings\Bob_morton\Application Data
CLIENTNAME=Console
CommonProgramFiles=C:\Program Files\Fichiers communs
COMPUTERNAME=PARENTS
ComSpec=C:\WINNT\system32\cmd.exe
HOMEDRIVE=C:
HOMEPATH=\Documents and Settings\Bob_morton
LOGONSERVER=\\PARENTS
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
Path=C:\WINNT\system32;C:\WINNT;C:\WINNT\system32\WBEM;C:\UTILIT~1\ULTRAE~1
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 7 Stepping 3, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=0703
ProgramFiles=C:\Program Files
PROMPT=$P$G
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\WINNT
TEMP=C:\DOCUME~1\BOB_MO~1\LOCALS~1\Temp
TMP=C:\DOCUME~1\BOB_MO~1\LOCALS~1\Temp
USERDOMAIN=PARENTS
USERNAME=Bob_morton
USERPROFILE=C:\Documents and Settings\Bob_morton
windir=C:\WINNT
 
mais à l'exécution j'obtiens toujours:
C:\>java c:\rien
Exception in thread "main" java.lang.NoClassDefFoundError: c:\rien
 
si quelqu'un pouvait me donner un coup de main ou un petit lien pouvant m'aider ca serit cool, merci d'avance.


Message édité par bobmorton le 11-11-2002 à 10:53:08
mood
Publicité
Posté le 10-11-2002 à 10:30:52  profilanswer
 

n°242560
casquetta
Posté le 10-11-2002 à 12:05:58  profilanswer
 

essaye dexecuter ton programme en te mettant dans le meme dossier et en tapant
 
> java rien
 
le probleme la c qu'il ne trouve pas le fichier a executer jcrois...

n°242620
benou
Posté le 10-11-2002 à 14:05:35  profilanswer
 

premièrement : la commande java prend le nom de la class en argument, pas un fichier.
 
deuxièmement, le nom des classes doit commencer par une majuscule !

n°242630
bobmorton
Posté le 10-11-2002 à 14:18:04  profilanswer
 

benou a écrit a écrit :

premièrement : la commande java prend le nom de la class en argument, pas un fichier.
 
deuxièmement, le nom des classes doit commencer par une majuscule !




la majuscule ca ne change rien il me semble(dos ne fait pas de différence),quoiqu'il en soit j'ai testé avec et sans. Et le *.class tu n'es pas obligé de le mettre. Par contre en fouillant un peu sur le web j'ai découvert ce qu'était les variables d'environnement et apparemment ca ne ivent pas de la comme le montre l'exemple ci-dessous :
 
C:\>set path c:\jdk1.3.1_01\bin
Path=c:\jdk1.3.1_01\bin
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
 
F:\Tp_graph>path
PATH=c:\jdk1.3.1_01\bin  
 
F:\Tp_graph>javac Arc.java
 
F:\Tp_graph>java Arc
Exception in thread "main" java.lang.NoClassDefFoundError: Arc
 

 
bon la je suis à bout je ne comprend pas il arrive à le compiler mais pas à l'exécuter si quelqu'un avait une idée ca serait cool merci
 
P.S.: ça ne vient pas du code, je l'ai testé sur une autre machine

n°242631
jade
On va tous mourir
Posté le 10-11-2002 à 14:24:06  profilanswer
 

t'es sous quel environnement?

n°242635
bobmorton
Posté le 10-11-2002 à 14:32:07  profilanswer
 

jade a écrit a écrit :

t'es sous quel environnement?




windows XP pro

n°242638
benou
Posté le 10-11-2002 à 14:36:54  profilanswer
 

bobmorton a écrit a écrit :

 
la majuscule ca ne change rien il me semble(dos ne fait pas de différence)




c'est pas une raison. C'est une convention de nommage très largement respéctée et très utiles !
 
sinon, peut être que le dos ne fait pas de différence, mais le ClassLoader la fait !
 

bobmorton a écrit a écrit :

 
Et le *.class tu n'es pas obligé de le mettre.




C'est pas que t'es pas obligé c'est qu'il ne faut pas !
 
 
Pour ton problème je suis quasiment certains que c'est '.' qui n'est pas dans le classpath. Erreur classique de débutant.
 
essaye en faisant

java -classpath . Arc


Message édité par benou le 10-11-2002 à 14:41:23
n°242639
jade
On va tous mourir
Posté le 10-11-2002 à 14:37:55  profilanswer
 

oula, j'y ai jamais touché, mais essaie de faire: set classpath=.
pour indiquer le répertoire courant...
je ne sais pas si tu peux définir par défaut des variables d'environnement comme dans win2k, donc il faut que tu essaies ça en ligne de commande

n°242640
benou
Posté le 10-11-2002 à 14:40:58  profilanswer
 

bien sur que tu peux régler les variables d'environnement sous winxp ...
 
c'est à peu près au même endroit que sous win2000

n°242641
jade
On va tous mourir
Posté le 10-11-2002 à 14:44:36  profilanswer
 

benou: si tu le dis =)
je n'ai vraiment jamais touché winXP, mais bobmorton sous win2k tu peux donc créé une variable classpath sous: panneau de config -> sys -> onglet avancé ->variables d'env -> new -> classpath auquel tu donnes la valeur .
ça doit être à peu près la même chose alors

mood
Publicité
Posté le 10-11-2002 à 14:44:36  profilanswer
 

n°242642
bobmorton
Posté le 10-11-2002 à 14:45:15  profilanswer
 

benou a écrit a écrit :

bien sur que tu peux régler les variables d'environnement sous winxp ...
 
c'est à peu près au même endroit que sous win2000




 
 
exact c ca
java -classpath . Arc  
 avec ca ca marche, sinon pour la majuscule je suis d'accord, je l'avais mise ce que je voulais dire c'est qu ce n'était pas ca la source d'erreur, idem pour le .class. Bon j'ai plus qu'à aller faire un tour sur le site de java pour découvrir ce qu'est un classpath. Merci à vous

n°242645
benou
Posté le 10-11-2002 à 14:52:24  profilanswer
 

you're welcome.
 
classpath=liste des chemins séparés par des ';' dans lesquels aller chercher les .class. Les chemins sont soit des répertoires, soit des ficiher jar.

n°242648
lorill
Posté le 10-11-2002 à 14:55:20  profilanswer
 

benou a écrit a écrit :

you're welcome.
 
classpath=liste des chemins séparés par le séparateur de path du systeme (';' sous windows, ':' sous unix) dans lesquels aller chercher les .class. Les chemins sont soit des répertoires, soit des ficiher jar.



n°242649
benou
Posté le 10-11-2002 à 14:56:42  profilanswer
 

you're right  :jap:

n°242795
bobmorton
Posté le 10-11-2002 à 21:06:56  profilanswer
 

Je reviens faire mon boulet, j'ai encore besoin de votre aide.
Je suis en train de faire un graph qui utilise 2 classes, une classe arc et une classe graphe qui utilise la classe arc dans sa définition.
D'ou l'idée de les mettre dans un package que j'ai pour le moment appelé gr et que j'ai mis dans le c:(j'ai également mis package gr au début de mes 2 classes qui fonctionnaient parfaitement avant que je ne les mette en package explicite).
Voila j'arrive maintenant à compiler ces classes à l'aide de la ligne de commande suivante:
C:\>javac  c:\gr\Arc.java
Seulement quand vient l'heure de la compilation ca se gate voilà ce qu j'ai tenté sans parvenir à aucun résultat:
 
"C:\>java -classpath . gr.Arc
Exception in thread "main" java.lang.NoClassDefFoundError: gr/arc (wrong name: g
r/Arc)
        at java.lang.ClassLoader.defineClass0(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$100(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)"
 
C:\>java -classpath . gr.Arc
Exception in thread "main" java.lang.NoClassDefFoundError: gr/arc (wrong name: g
r/Arc)
       +meme chose que précédemment
 
C:\gr>java -classpath . Arc
Exception in thread "main" java.lang.NoClassDefFoundError: Arc (wrong name: gr/A
rc)
        +meme chose que précédemment
 
C:\>java gr.Arc
Exception in thread "main" java.lang.NoClassDefFoundError: gr/Arc
 
C:\>java classpath . gr.Arc
Exception in thread "main" java.lang.NoClassDefFoundError: classpath
 
enfin bon voila si quelqu'un pouvait me donner la bonne commande ou me dire ce que je n'ai pas fait correctement ca serait cool

n°242852
benou
Posté le 11-11-2002 à 01:32:20  profilanswer
 

tu as un problème avec ta minuscule en début de classe !
 

Citation :

C:\>java -classpath . gr.Arc  
Exception in thread "main" java.lang.NoClassDefFoundError: gr/arc (wrong name: gr/Arc)


 
Il doit encore y avoir des restes de ton fichier avec une arc.java minuscule. Verifie que ta classe et que ton fichier ont bien une majuscule au début.

n°242853
benou
Posté le 11-11-2002 à 01:33:02  profilanswer
 

la bonne commande c'est celle là :

Citation :

C:\>java -classpath . gr.Arc

n°242890
bobmorton
Posté le 11-11-2002 à 10:51:59  profilanswer
 

J'ai tout viré sauf mes *.java, j'ai tout recompilé(N.B: toi qui es comme moi un gros newbie et qui viens de tomber sur ce message à l'aide d'une recherche n'oublie pas de changer ton classpath sous dos si tu veux compiler tes packages) et cette fois ca marchait ca me fait bien plaisir merci encore @+


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] erreur d'exécution: variables d'environnement?[résolu]

 

Sujets relatifs
Équivalent à « parent:: » fonctionnant avec les variables[JAVA] limiter le nombre de caracteres dans un TextField
[JAVA] gridbaglayout, fenetres et resolution d'ecran[JAVA] erreur de compilation que je capte pas ... [resolu]
[PHP] Probleme avec MySql: Erreur que je n'arrive pas à résoudre[PHP] Cherchez l'erreur. 1 INSERT se passe bien mais n'enregistre rien
un exemple simple de media player en java[Java] Probleme : qui connait Java Web Start ?
Plus de sujets relatifs à : [JAVA] erreur d'exécution: variables d'environnement?[résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR