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

Eclipse Java Discussion :

Eclipse, l'invite de commande, et un petit problème


Sujet :

Eclipse Java

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Eclipse, l'invite de commande, et un petit problème
    Bonjour à tous,

    Je suis en train de m'arracher les cheveux sur un problème que je n'arrive pas à résoudre.

    J'ai développé un programme sous Eclipse avec pas mal de packages et sous packages. Ça fonctionne nickel avec la console Eclipse.

    Mais lorsque je lance le programme à la console (commande : java Demarrer), je me mange un NoClassDefFoundError, alors que je me trouve bien dans le bon répertoire C:\le_chemin\src\client

    Le truc bizarre, c'est que ça fonctionnait avant que je passe sous Windows 7. En faisant quelques recherches, je me dis que c'est peut-être un problème de classpath, mais vu que j'y ai pas touché depuis la mise à jour vers Windows 7, je ne vois pas d'où vient le problème.

    J'ai donc réessayer en entrant le classpath manuellement : java -classpath "C:\etc..." Demarrer

    ... mais toujours rien.

    Une idée siouplait ?

    Merci !

  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,

    Citation Envoyé par _Stan_ Voir le message
    J'ai donc réessayer en entrant le classpath manuellement : java -classpath "C:\etc..." Demarrer

    ... mais toujours rien.
    Quel est le nom complet de la classe ?
    Quel est la ligne de commande exacte que tu utilises ? Car c'est difficile de trouver une erreur dans "etc..."
    Quel est le message d'erreur complet que tu obtiens ?


    a++

  3. #3
    Candidat au Club
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Salut,

    Le nom complet de ma classe est : Demarrer

    Les lignes de commande que j'ai utilisées sont :

    - D'abord : java Demarrer (je me trouve dans le répertoire courant, C:\Users\Stan\Desktop\Workspace\PRIME 2\src\client)

    J'obtiens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Exception in thread "main" java.lang.NoClassDefFoundError: Demarrer
    Caused by: java.lang.ClassNotFoundException: Demarrer
            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)
    Could not find the main class: Demarrer.  Program will exit.
    - Puis : java -classpath "C:\Users\Stan\Desktop\Workspace\PRIME 2\bin\client" Demarrer

    J'obtiens :

    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
    Exception in thread "main" java.lang.NoClassDefFoundError: Demarrer (wrong name:
     client/Demarrer)
            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)
    Could not find the main class: Demarrer.  Program will exit.
    La commande avec classpath fonctionne avec un autre programme, sauf que les .class sont déjà directement dans le bin, alors que dans le programme actuel, il y a pas mal de packages... Enfin je ne sais pas si le problème vient de là.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 104
    Points : 135
    Points
    135
    Par défaut
    Salut,

    où sont tes .class ? es tu sûr du nom de ta classe ? c'est bien Demarrer (package par défaut) et non client.Demarrer ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    Salut,

    De ce que tu dis apparemment la classe Demarrer est dans le package client
    Il faut don cécrire un truc du genre dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java -classpath "C:\Users\Stan\Desktop\Workspace\PRIME 2\bin" client.Demarrer
    A plus

  6. #6
    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 _Stan_ Voir le message
    Le nom complet de ma classe est : Demarrer
    Citation Envoyé par _Stan_ Voir le message
    java.lang.NoClassDefFoundError: Demarrer (wrong name: client/Demarrer)
    Le nom complet de la classe inclut le package, donc apparemment c'est client.Demarrer, et le classpath doit correspondre au répertoire de base de tes packages, et non pas à l'emplacement du fichier...


    Bref la bonne commande a été donné par George7...

    a++

  7. #7
    Candidat au Club
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup ! Ça fonctionne, effectivement... Par contre, je ne comprends toujours pas pourquoi ça fonctionnait avant, sans que je rentre les classpath... Mais c'est une autre histoire, je ne vous embête pas plus ;-)

    Merci encore.

    EDIT : je viens de trouver l'astuce : il faut rajouter dans les variables d'environnements un nouveau CLASSPATH, ..\bin

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/08/2009, 15h20
  2. Comment lire un wav en invite de commande
    Par sdx dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 02/10/2005, 01h54
  3. compilation avec invite de commandes
    Par new_wave dans le forum Général Java
    Réponses: 1
    Dernier message: 21/07/2005, 22h32
  4. Ecrire dans l'invite de commande
    Par Joeleclems dans le forum MFC
    Réponses: 9
    Dernier message: 08/06/2005, 13h19
  5. [Clavier] Gestion d'une invite de commandes
    Par Damian dans le forum Assembleur
    Réponses: 9
    Dernier message: 28/04/2005, 16h41

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