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

avec Java Discussion :

Problème d'exécution de Java


Sujet :

avec Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 8
    Points
    8
    Par défaut Problème d'exécution de Java
    Bonjour,

    Je viens de compiler mon premier programme en Java. Mais lorsque je l'exécute j'ai ce message:

    Exception in thread "main" java.lang.NoClassDefFoundError: PremierProgramme
    Caused by: java.lang.ClassNotFoundException: PremierProgramme
    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)

    SVP, qui peut m'aider à comprendre ce texte et corriger mon erreur ?

    Merci

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    949
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 949
    Points : 1 856
    Points
    1 856
    Par défaut
    Java ne trouve pas la classe "PremierProgramme". C'est souvent du à un problème de classpath. Peut-être aussi que vous avez oublié de la compiler.

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Tu n'as pas de classe "PremierProgramme" dans le classpath accessible à la JVM. Vérifie que tu n'a pas fait de faute d'orthographe dans le nom de la classe, qu'elle est bien compilée (présence d'un fichier PremierProgramme.class) et que tu n'as pas mis de directive "package" en haut de ton PremierProgramme.java

  4. #4
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 8
    Points
    8
    Par défaut
    Effectivement, kan je lance cette commande

    C:\java>echo %CLASSPATH%
    C:\Program Files\MINSAT\jconn3.jar

    Je ne vois pas lae path pour Java or je l'ai spécifié (C:\Program Files\MINSAT\jconn3.jar est le path d'un autre programme que j'utilise)
    Aussi j'utilise une version un peu ancienne de SDK

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    le répertoire courant est automatiquement ajouté au classpath à l'exécution quand tu n'utilise pas l'option '-jar' de java, donc pas à t'inquiéter. Inquiète toi plutot de savoir pourquoi ta classe n'est pas accessible depuis le répetoire courant (faute de frappe dans le nom, mal placée ou mal compilée)

  6. #6
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    Je viens d'installer la java_ee_sdk-5_04 mais j'ai toujours le même problème.
    Où dois-je spécifier le chemin pour atteindre les classes java ?
    NB: je réussi à compier et exécuter les applets

    Merci

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    t'as rien à configurer, c'est çà l'histoire, ton message d'erreur, on te la dit, dit qu'il trouve pas ta classe, c'est que tu l'a mal nommée, pas compilée ou que tu l'a mise dans un package qui ne correspond pas à la structure de répetoire où se trouve le .class
    peux-tu nous dire la commande java que tu tappe (ce sera plus facile à expliquer) pour exécuter ton programme de test?

  8. #8
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 8
    Points
    8
    Par défaut
    J'utilise "javac" pour la compilation et "java" pour l'exécution à partir de la ligne de commande de MS-DOS dans le repertoire C:\java où je mets les sources et les classes après la compilation.

    Merci

  9. #9
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    La ligne complète que tu tappe, s'il te plait

  10. #10
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 8
    Points
    8
    Par défaut
    J'ai essayé:

    >java PremierProgramme.java

    et

    >java PremierProgramme

    Mais j'ai toujours le même message d'erreur.

    Merci pour vôtre aide

  11. #11
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 50
    Points : 60
    Points
    60
    Par défaut
    C'est normal en java il faut compiler ton programme avant de l'executer

    Pour le compiler : javac mon_programme.java

    et l'executer : java mon_programme

  12. #12
    Inactif  
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 497
    Points : 312
    Points
    312
    Par défaut
    'lut,

    tu risques de perdre beaucoup de temps à te lancer ainsi, je te conseille : CA !

    avant :

    pendant : -> ->

    apres les cours :

  13. #13
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 8
    Points
    8
    Par défaut
    SVP, CLASSPATH doit pointé sur quel repertoire ?

    NB: j'utilise "java_ee_sdk-5_04"

    Merci encore

  14. #14
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 8
    Points
    8
    Par défaut
    Sur http://java.sun.com/docs/books/tutor...ems/index.html
    J'ai eu une astuce qui consiste à faire "set CLASSPATH= " avant d'exécuter le programme.
    Mais le problème, il faudra faire cela à chaque fois qu'on ouvre la ligne de commande.
    La solution est de modifier CLASSPATH mais je ne sais vers quelle repertoire pointé CLASSPATH (j'ai installé java_ee_sdk-5_04).

    Merci de me dire où ?

  15. #15
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    me répète mais bon:

    pour un application simple (genre "ton premier programme", t'as pas à toucher à ton classpath. On ne fait çà que si one veut inclure des jar extérieurs à l'application. Et encore, dans ce cas là, on passe rarement pas CLASSPATH, on utilise juste des paramètre supplémentaire lors de l'appel à java.

  16. #16
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 8
    Points
    8
    Par défaut
    OK. Excuses moi.

    Donc que puis-je faire pour ne pas à avoir à faire "set CLASSPATH= " à chaque fois que j'ouvre ma ligne de commande ?

    NB: Lorsque je fais "set CLASSPATH= ", je réussi à exécuter les programmes

    Merci pour tout

  17. #17
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    La commande pour exécuter une classe java, une fois celle-ci compilée est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java nom.du.paquet.MaClasse
    avec nom/du/paquet/MaClasse.java de la forme suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    package nom.du.paquet;
     
    // eventuellement des import dont tu aurais besoin
     
    public class MaClasse {
        // ..... tout ce que tu veux comme méthodes / champs de ta classe
        public static void main (String[] argv){
            // .... code appelé à l'exécution
        }    
    }
    avec l'arborescence de fichiers suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    .
    |-nom
      |-du
        |-paquet
          |-MaClasse.java
          |-MaClasse.class
    Enfin, pour compiler tu as du faire quelque chose comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javac nom/du/paquet/MaClasse.java
    C'est tout à fait suffisant pour compiler et exécuter tant que tu ne dépend pas de librairies annexes non fournies avec la jvm.

    Si t'as encore des problème après çà, poste exactement la suite de commandes que tu as tappée avec leur résultat (copier/coller depuis ta console)

  18. #18
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 8
    Points
    8
    Par défaut
    C:\java>javac PremierProgramme.java

    C:\java>java PremierProgramme
    Exception in thread "main" java.lang.NoClassDefFoundError: PremierProgramme
    Caused by: java.lang.ClassNotFoundException: PremierProgramme
    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>set CLASSPATH=

    C:\java>java PremierProgramme
    Ca marche !

    C:\java>

  19. #19
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 50
    Points : 60
    Points
    60
    Par défaut
    tout a l'heure tu as dit ca :

    C:\java>echo %CLASSPATH%
    C:\Program Files\MINSAT\jconn3.jar
    et windows quand il a un classpath de definit ne prend plus le repertoire courant comme classpath par defaut. D'ou le besoin que tu as d'ajoute le "set CLASSPATH="

    Donc ou tu rajoute dans ta variable CLASSPATH le repertoire C:\java ou tu supprimes la variable classpath...

    Je vois pas d'autre solution

  20. #20
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 8
    Points
    8
    Par défaut
    Ca marche !!!!

    En ajoutant C:\java à CLASSPATH

    Je n'ai plus besoin de faire "set CLASSPATH=" à chaque que j'ouvre ma ligne de commande.

    Merci à tous

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Problème d'exécution programme Java
    Par cocorico88 dans le forum Général Java
    Réponses: 3
    Dernier message: 16/11/2009, 09h38
  2. Problème avec mon premier exécutable en java
    Par Icefire dans le forum Débuter avec Java
    Réponses: 9
    Dernier message: 25/04/2008, 09h42
  3. Réponses: 3
    Dernier message: 29/02/2008, 15h41
  4. [UBUNTU] Problème d'exécution Java
    Par JohnnyWalk dans le forum Ubuntu
    Réponses: 1
    Dernier message: 31/01/2007, 13h21

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