IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

[debutant] execution d'un programme java sous DOS


Sujet :

Langage Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut [debutant] execution d'un programme java sous DOS
    Bonjour,
    Je rencontre un problème de compilation et d'éxécution d'un petit programme java sous DOS.
    C'est un problème qu'ont rencontré de nombreux internautes et les solutions proposées ne me réussissent pas.
    Toutefois mon programme s'éxécute parfaitement sous éclipse.
    Voici ce que m'affiche ma ligne de commandes:



    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
    C:\Documents and Settings\abou\workspace\repar\hello>java -classpath "C:\Documents and Settings\abou\workspace\repar\hello" Bonjour
    Exception in thread "main" java.lang.NoClassDefFoundError: Bonjour (wrong name:
    hello/Bonjour)
            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$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:\Documents and Settings\abou\workspace\repar\hello>javac Bonjour.java
    'javac' n'est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.


    J'ai complété mon path en ajoutant l'adresse où se trouve java, j'ai précisé l'adresse dans mon classpath de mon programme compilé sous eclipse mais sans succès.
    La commande java Bonjour , javac Bonjour et le changement de nom de mon programme me donne toujours les mêmes erreurs précédentes.
    Merci à qui veut bien se pencher sur mon pbm.

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Le CLASSPATH doit correspondre au répertoire racine de tes fichiers *.class, répertoire des package compris.

    Ta classe Bonjour semble appartenir au package hello. Il faut donc :
    • Que ton CLASSPATH corresponde au répertoire 'racine' de tes classes, donc "C:\Documents and Settings\abou\workspace\repar" dans ton cas.
    • Que tu utilises le nom complet de la classe (avec le package) : hello.Bonjour.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -classpath "C:\Documents and Settings\abou\workspace\repar" hello.Bonjour
    Ou plus directement depuis le répertoire repar (si tu n'a pas modifié/crée la variable d'environement CLASSPATH, c'est le répertoire courant qui est utilisé) :
    a++

  3. #3
    Membre actif Avatar de bidi
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 262
    Points : 266
    Points
    266
    Par défaut
    qu'as-tu mis dans ton path exactement? as-tu bien le jdk et pas seulement la jvm?
    Tu peux décrire étape par étape ce que tu as fait avec à chaque fois ce que tu as tapé?

  4. #4
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    Apparemment, ta classe Bonjour est située dans le package hello. Le nom complet de ta classe est donc hello.Bonjour.

    Il faut donc que tu te places dans le dossier C:\Documents and Settings\abou\workspace\repar et que tu tapes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Documents and Settings\abou\workspace\repar>java -classpath . hello.Bonjour
    Pour la seconde erreur (concernant javac), il faut que tu précises à windows où se trouve le programme javac à exécuter. Supposons que tu aies installé java dans C:\ProgramFiles\java, tu peux appeler directement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Documents and Settings\abou\workspace\repar>C:\ProgramFiles\java\bin\javac hello\Bonjour.java
    Tu peux aussi préciser à windows que chaque fois que tu tapes javac, il aille chercher dans C:\ProgramFiles\java\bin\ : modifie la variable d'environnement PATH de windows en cliquant droit sur Poste de travail ou en tapant en console :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set PATH %PATH%;C:\ProgramFiles\java\bin\
    [edit]Vous allez trop vite pour moi ! Je tiens pas le rythme !

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Merci à vous,
    J'ai enfin pu executer mon pgm sous DOS,je nétais pas sur le bon répertoire.
    Par contre pour mon 2eme pbm avec javac j'ai encore un souci:
    Quand je tape le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Documents and Settings\abou\workspace\repar>set PATH=%PATH%;C:\Program Files\Java\jre1.5.0_04\bin\javac hello\Bonjour.java
    j'obtiens la réponse suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    La variable d'environnement PATH C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Fichiers communs\Roxio Shared\DLLShared;c:\Program Files\Java\jre1.5.0_04\bin;c:\Program Files\Java\jre1.5.0_04\lib;C:\Program Files\J
    ava\jdk1.5.0_04\bin;C:\Program Files\Java\jre1.5.0_04\bin;C:\Program Files\Java\
    jre1.5.0_04\bin\javac hello\Bonjour.java;Program n'est pas définie.

    Et quand je tape le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    C:\Documents and Settings\abou\workspace\repar>C:\Program Files\Java\jre1.5.0_04
    \bin\javac hello\Bonjour.java
    J'obtiens:

    [/code]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'C:\Program' n'est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes
    Dans mon PATH,j'avais rajouté le chemin suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Program Files\Java\jre1.5.0_04\bin;

  6. #6
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Citation Envoyé par rika
    Quand je tape le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Documents and Settings\abou\workspace\repar>set PATH=%PATH%;C:\Program Files\Java\jre1.5.0_04\bin\javac hello\Bonjour.java

    Dans le PATH il ne faut rajouter que le repertoire contenant le fichier javac.exe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set PATH=%PATH%;C:\Program Files\Java\jre1.5.0_04\bin
    Citation Envoyé par rika
    Et quand je tape le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Documents and Settings\abou\workspace\repar>C:\Program Files\Java\jre1.5.0_04\bin\javac hello\Bonjour.java
    Quand tu lance une commande en spécifiant le chemin et que celui-ci comporte des espaces, tu doit le mettre entre guillemets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ~>"C:\Program Files\Java\jre1.5.0_04\bin\javac" hello\Bonjour.java

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Rien ne marche:
    la 1ere commande me donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    C:\Documents and Settings\abou\workspace\repar>set PATH=%PATH%;C:\Program Files\
    Java\jre1.5.0_04\bin
     
    C:\Documents and Settings\abou\workspace\repar>javac hello\Bonjour.java
    'javac' n'est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.
    et la 2eme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    C:\Documents and Settings\abou\workspace\repar>"C:\Program Files\Java\jre1.5.0_0
    4\bin\javac" hello\Bonjour.java
    '"C:\Program Files\Java\jre1.5.0_04\bin\javac"' n'est pas reconnu en tant que co
    mmande interne
    ou externe, un programme exécutable ou un fichier de commandes.
    N'est-ce- pas parce que la commande javac.exe ne se trouve pas dans le chemin indiquée?
    Si oui peux-tu m'indiquer comment trouver le bon chemin.

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 104
    Points : 140
    Points
    140
    Par défaut
    javac ne fait pas partie du jre mais du jdk !
    Si tu as installé un jdk, fais une recherche de javac.exe sur ton poste.
    Si tu n'as pas installé de jdk, c'est le moment de le faire.

    JRE = Java Runtime Environment = possibilité d'utiliser des programmes écrits en Java.
    JDK = java Developemnt Kit = possibilité de créer des programmes écrits en Java.

  9. #9
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Citation Envoyé par pk960
    javac ne fait pas partie du jre mais du jdk !
    Si tu as installé un jdk, fais une recherche de javac.exe sur ton poste.
    Si tu n'as pas installé de jdk, c'est le moment de le faire.

    JRE = Java Runtime Environment = possibilité d'utiliser des programmes écrits en Java.
    JDK = java Developemnt Kit = possibilité de créer des programmes écrits en Java.
    Exact, j'avais pas vu l'erreur

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Salut,
    Je suis retournée sur SUN pour télécharger le JDK: si j'ai bien compris ce qu'on m'explique il est inclus avec le JRE dans un SDK. J'ai donc telecharge cet ensemble une ieme fois.
    Le probleme c'est que je ne peux toujours pas compiler sous DOS et une recherche de javac.exe .
    Ce que je ne comprends pas par ailleurs, c'est que je peux compiler sous eclipse puisque j'obtiens des fichiers *. class c'est donc que javac.exe existe ou bien j'ai raté une étape?

  11. #11
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par rika
    Salut,
    Je suis retournée sur SUN pour télécharger le JDK: si j'ai bien compris ce qu'on m'explique il est inclus avec le JRE dans un SDK. J'ai donc telecharge cet ensemble une ieme fois.
    Le JDK inclut un JRE. Pas l'inverse.
    Qu'est-ce que tu as téléchargé exactement (nom du fichier et taille) ?
    Le fichier d'installation du JDK pour windows est nommé "jdk-1_5_0_05-windows-i586-p.exe" et fait un peu moins de 60 Mo...

    Citation Envoyé par rika
    Ce que je ne comprends pas par ailleurs, c'est que je peux compiler sous eclipse puisque j'obtiens des fichiers *. class c'est donc que javac.exe existe ou bien j'ai raté une étape?
    Eclipse possède son propre compilateur. Il n'a donc besoin que du JRE pour fonctionner...

    a++

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    celui que j'ai telechargé s'appelle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "jdk-1_5_0_05-windows-i586-p-iftw"
    Merci,je m'en vais donc telecharge le bon.

  13. #13
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par rika
    celui que j'ai telechargé s'appelle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "jdk-1_5_0_05-windows-i586-p-iftw"
    Merci,je m'en vais donc telecharge le bon.
    Heu... je ne sais pas à quoi correspond le iftw mais ca devrait être bon (tu dois surement avoir pris une version packagé avec autre chose).

    Mais il faut maintenant que tu mettes le répertoire bin de ton JDK dans le PATH du système...

    a++

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    thank you very much,ça marche
    je n'avais pas telecharge le bon JDK.
    En fait pour windows il y avait 2 "JDK' proposés et comme je ne suis pas une pro,j'ai choisi arbitrairement
    ...iftw plutot que
    ...p.exe

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Debutant]Programme java sous machine unix
    Par megapacman dans le forum Langage
    Réponses: 4
    Dernier message: 06/11/2007, 14h10
  2. commande d'execution d'une classe java sous dos
    Par sirine1 dans le forum Langage
    Réponses: 1
    Dernier message: 11/08/2007, 14h48
  3. programme C sous DOS
    Par philistase dans le forum C
    Réponses: 2
    Dernier message: 15/03/2006, 09h02
  4. Réponses: 9
    Dernier message: 03/11/2005, 14h18
  5. [Debutant] execution d'un programme console
    Par benahpets dans le forum MFC
    Réponses: 8
    Dernier message: 19/05/2005, 00h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo