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 :

Lancement .jar : java lang NoClassDefFoundError


Sujet :

Langage Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 115
    Points : 47
    Points
    47
    Par défaut Lancement .jar : java lang NoClassDefFoundError / erreur HelpSet.hs
    Hello.

    Je suis en train de faire un programme java, qui compile bien et qui tourne sous netBeans, mais lorsque que j'utilise le jar qui est fait automatiquement ca ne marche pas. Ca me donne cette erreur. J'ai regarder un peu partout mais je n'ai pas trouvé de sol...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    java -jar c:\Dmind.jar
    Exception in thread "main" java.lang.NoClassDefFoundError: org/jdesktop/layout/G
    roupLayout$Group
            at dmind.ProgrammeDmind.main(ProgrammeDmind.java:22)
    Voila l'erreur exacte en lancant pas la commande dos..

    Des idées??

  2. #2
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par delma
    Des idées??
    Non, des solutions...
    Tu n'as rien trouvé parce que c'est une problème banal et que donc tous les posts qui y font référence sont régulièrement délestés...

    Tu as un répertoire "lib" normalement à côté de ton jar dans le répertoire de ton projet netbeans. Il doit être, et il doit rester avec ton jar. Il contient un autre jar (swing-layout-1.0.jar) qui contient la classe qui est citée dans le message d'erreur...

    Faudrait lire le fichier ReadMe qui est à côté du jar aussi... c'est marqué dedans...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 115
    Points : 47
    Points
    47
    Par défaut
    Merci bcp de la réponse. Je suis navré de ne pas avoir trouvé, mais je pense que c'est aussi a ca que sert un forum. Faut pas tout délesté, pour que les nuls ne reposte pas trop les meme question...

    Et bien justement je n'ai pas le repertoire lib dans le projet... Je ne sais pas de quoi ca vient...

    J'ai bien essayer d'ajouter directement le jar de (swing-layout-1.0.jar) mais toujours la meme erreur...

  4. #4
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par delma
    Merci bcp de la réponse. Je suis navré de ne pas avoir trouvé, mais je pense que c'est aussi a ca que sert un forum. Faut pas tout délesté, pour que les nuls ne reposte pas trop les meme question...
    Ben c'est une question de base qui revient 10 fois par semaine (j'exagère à peine un peu... ), et qui n'est pas vraiment un problème qui mérite d'être conserver dans les archives... dans la FAQ Netbeans à la limite...

    Citation Envoyé par delma
    Et bien justement je n'ai pas le repertoire lib dans le projet... Je ne sais pas de quoi ca vient...
    Tu utilises quelle version de Netbeans?

    Citation Envoyé par delma
    J'ai bien essayer d'ajouter directement le jar de (swing-layout-1.0.jar) mais toujours la meme erreur...
    Tu l'as ajouté où?
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 115
    Points : 47
    Points
    47
    Par défaut
    Merci beaucoup pour ta réponse. Et bien en fait, j'ai résolu le problème en refaisant le projet. J'ai simplement démarer un nouveau projet et recopier toute les classes dedans et en important la librairie nécessaire. En le compilant il m'a enfin créer le dossier lib que je cherchais. J'ai ensuite simplement ajouter le dossier au bon endroit, c'est a dire comme indiqué dans le manifest et c'est tout bon.

    merci encore!

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 115
    Points : 47
    Points
    47
    Par défaut
    Hello. Et bien cela fonctionne correctement si je lance l'application depuis netbeans.

    Mais maintenant je souhaite faire un .jar pour distribuer mon application et je n'arrive pas à le faire depuis le manifest... Je suis pas trop au clair avec l'utilisation de .jar.

    Deja comment faire pour avoir les lib et le tout dans un seul .jar (et non pas un jar et un dossier lib à coté... )

    pour le moment j'ai ca :
    - mon application : Dmind.jar contenant mes classe et le repertoire META-INF qui lui contient le manifest.mf

    Mon manifest :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.6.5
    Created-By: 1.5.0_06-b05 (Sun Microsystems Inc.)
    Main-Class: dmind.ProgrammeDmind
    Class-Path: lib/swing-layout-1.0.jar lib/jh.jar lib/DmindHelp lib/mysq
     l-connector-java-5.0.4-bin.jar
    X-COMMENT: Main-Class will be added automatically by build
    mon jar dans "c:\" et un repertoire lib dans "c:\" et avec mes librairies:
    - swing-layout-1.0.jar
    - mysql-connector-java-5.0.4-bin.jar
    - jh.jar
    - et un repertoire DmindHelp contenant les fichiers pour java help...

    Maintenant quand j'essaie de lancer mon appli depuis cmd il me retourne l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    C:\Documents and Settings\Binou>java -jar c:\Dmind.jar
    HelpSet: Could not parse
    Got an IOException (null)
    Parsing failed for null
    HelpSet: helpset.hs non trouvÚ
    Exception in thread "main" java.lang.NullPointerException
            at ihm.Ihm_creation_questionnaire.<init>(Ihm_creation_questionnaire.java
    :81)
            at dmind.ProgrammeDmind.main(ProgrammeDmind.java:22)
    Et mon code java:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     public Ihm_creation_questionnaire() {
            super("Creation of the questionnaire");
            // création des objets HelpSet et HelpBroker
            HelpSet hs = getHelpSet("helpset.hs");
            this.hb = hs.createHelpBroker();
            initComponents();
            setVisible(true);
        }
    Je demande vraiment de l'aide parce que je devrais envoyer le tout le plus rapidement possible...

  7. #7
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Visiblement le helpSet n'est pas trouvé, donc hs est null et hs.createHelpBroker(); lève une NullPointerException.

    Où se situe ton HelpSet?
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  8. #8
    Membre expert
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Points : 3 135
    Points
    3 135
    Par défaut
    Citation Envoyé par delma
    Maintenant quand j'essaie de lancer mon appli depuis cmd il me retourne l'erreur suivante:
    [CODE]
    C:\Documents and Settings\Binou>java -jar c:\Dmind.jar
    HelpSet: Could not parse
    Got an IOException (null)
    Apparement tu essaies d'accéder à un fichier introuvable regarde la classe HelpSet et vérifie les accès externe.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 115
    Points : 47
    Points
    47
    Par défaut
    Le fichier est correct, vu que ca fonctionne depuis netBeans.
    Ca doit simplement etre un problème de definition dans le manifest je pense.

    Citation Envoyé par sinok
    Visiblement le helpSet n'est pas trouvé, donc hs est null et hs.createHelpBroker(); lève une NullPointerException.

    Où se situe ton HelpSet?
    Mon helpset se trouve dans mon repertoire DmindHelp qui se situe dans le repertoire lib

    ca donne : C:\lib\DmindHelp\helpset.hs

  10. #10
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 115
    Points : 47
    Points
    47
    Par défaut
    Citation Envoyé par sinok
    Oui c'est gentil, mais ca ne m'aide pas sur le manifest qui pose problème.Mon helpset se lance correctement depuis netbeans, et je ne sais simplement pas comment définir de manière correcte le manifest...

  12. #12
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    POutant une solution à ton problème se trouvae dans ce topic:

    Citation Envoyé par bbclone
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    URL url = HelpSet.findHelpSet(null, "Animals.hs");
    myHelpSet = new HelpSet(null, url);
    Ensuite ton manifest doit indique dans le classPath le chemin complet vers ton helpset
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 115
    Points : 47
    Points
    47
    Par défaut
    Ca je le fait bien dans mon programme, sinon ca ne fonctionnerais pas si je lance l'application depuis netbeans...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        public HelpSet getHelpSet(String helpsetfile) {
            HelpSet hs = null;
            ClassLoader cl = this.getClass().getClassLoader();
            try {
                URL hsURL = HelpSet.findHelpSet(cl, helpsetfile);
                hs = new HelpSet(null, hsURL);
            } catch(Exception ee) {
                System.out.println("HelpSet: "+ee.getMessage());
                System.out.println("HelpSet: "+ helpsetfile + " non trouvé");
            }
            return hs;
        }
    Citation Envoyé par sinok
    Ensuite ton manifest doit indique dans le classPath le chemin complet vers ton helpset
    C'est exactement la ou se situe le problème me semble-t-il...
    C'est dans le manifeste qui doit avoir un problème...

    Mais a première vue je le fait bien dans mon manifest...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.6.5
    Created-By: 1.5.0_06-b05 (Sun Microsystems Inc.)
    Main-Class: dmind.ProgrammeDmind
    Class-Path: lib/swing-layout-1.0.jar lib/jh.jar lib/DmindHelp lib/mysq
     l-connector-java-5.0.4-bin.jar
    X-COMMENT: Main-Class will be added automatically by build

  14. #14
    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,


    La question est : Où se trouve ton fichier "helpset.hs" ???

    a++

  15. #15
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Quand je dis le cemin complet ce n'est pas le chemin du répertoire contenant le fichier mais le chemin du fichier
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 115
    Points : 47
    Points
    47
    Par défaut
    bon la je pete les plombs... alors si je mets ce manifest la :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.6.5
    Created-By: 1.5.0_06-b05 (Sun Microsystems Inc.)
    Main-Class: dmind.ProgrammeDmind
    Class-Path: c:/dist/lib/swing-layout-1.0.jar c:/dist/lib/jh.jar c:/dist/lib/mysql-connector-ja
     va-5.0.4-bin.jar c:/dist/lib/DmindHelp/helpset.hs
    X-COMMENT: Main-Class will be added automatically by build
    resultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Manifest-Version: 1.0
    Exception in thread "main" java.lang.NoClassDefFoundError: dmind/ProgrammeDmind
    si je mets ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.6.5
    Created-By: 1.5.0_06-b05 (Sun Microsystems Inc.)
    Main-Class: dmind.ProgrammeDmind
    Class-Path: lib/swing-layout-1.0.jar lib/jh.jar lib/mysql-connector-ja
     va-5.0.4-bin.jar lib/DmindHelp/helpset.hs
    X-COMMENT: Main-Class will be added automatically by build
    resultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    HelpSet: Could not parse
    Got an IOException (null)
    Parsing failed for null
    HelpSet: helpset.hs non trouvÚ
    Exception in thread "main" java.lang.NullPointerException
            at ihm.Ihm_creation_questionnaire.<init>(Ihm_creation_questionnaire.java
    :81)
            at dmind.ProgrammeDmind.main(ProgrammeDmind.java:22)
    Encore un peu d'aide les gars sinon je vais cracker...

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/06/2011, 08h13
  2. Erreur d'exécution d'un jar java.lang.noclassdeffounderror
    Par safi11 dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 24/02/2011, 17h18
  3. Réponses: 0
    Dernier message: 26/01/2011, 20h32
  4. création d'un fichier JAR java.lang.noClassDefFoundError
    Par Balbuzard dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 15/09/2008, 16h38
  5. deploiement jar et java.lang.NoClassDefFoundError
    Par Sniper37 dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 11/06/2007, 12h02

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