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 :

Problème au lancement d'un jar


Sujet :

Langage Java

  1. #1
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Points : 730
    Points
    730
    Par défaut Problème au lancement d'un jar
    Salut,

    J'ai fait un .jar de mon programme, en suivant un tuto trouvé dans la rubrique qui va bien... mais après avoir lancé ma commande voila ce qu'il me renvoie!!!

    E:\>java -jar programme.jar
    Exception in thread "main" java.lang.NoClassDefFoundError: org/jdesktop/swingx/JXTaskPaneContainer
    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)
    Je comprends pas ce qu'il veux??? j'ai mal fait un truc??
    y'a un problème avec swingx mais je vois pas!!!

    Je tiens à préciser que mon programme se lance sans erreurs ni warning (j'ai ) sous eclipse. Et la transformation en jar se passe bien (j'ai aucun message).

  2. #2
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    c'est sûrement un problème de classpath ...

    direction la FAq pour plus de détails ...

  3. #3
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Points : 730
    Points
    730
    Par défaut
    Salut,

    J'ai regardé la faq, d'éclipse j'ai fait ce qu'ils demandaient pour l'inclusion de jar, sachant que mon erreur porte sur un JXTaskPane, qui viens de swingx.
    je n'utilise pas que JXTaskPane, j'utilise d'autres composants swingx et logiquement s'il ne trouvait pas swingx il m'aurait sortie des erreurs pour les autres class utilisées.
    J'ai rajouté d'autres jar notamment un pour la base de donnée de la même façon et il ne me retourne pas de problèmes pour celui-ci.

  4. #4
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    Si tu lances en ligne de commande, je ne vois pas trop ce qu'Eclipse vient faire dans le schmilblick ... C'est pour créer ton jar et y inclure tes librairies ?

    Vu ton premier message, on pouvait pas deviner.

    Quand je parlais de FAQ, c'était de celle du site.

    Je te conseillerais, pour tester en tout cas, de ne mettre que tes propres classes dans le jar, et d'ajouter les autres librairies au classpath (de la même manière que ton build path est défini sous Eclipse) pour lancer en ligne de commande.

    Si tu n'as pas d'erreur, c'est simplement que tu ne crées pas le jar correctement ...

  5. #5
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Points : 730
    Points
    730
    Par défaut
    Houla!!

    Je vais pas y arriver, en faite en parlant de faq je parlais bien de celle de developpez.com la faq java consacrée à eclipse.
    Sinon j'ai fait mon appli sous eclipse, j'en ai fait un jar avec eclipse pour pouvoir l'installer sur une autre machine, le lancement du fichier jar je l'ai fait sur ma machine en ligne de commande, au moins je suis sure que mon jre est le meme et fonctionne bien, puisque mon prog tourne sous eclipse.

    Si tout fonctionne sous eclipse, pourquoi quand je crée le jar ca veux pas marcher???

  6. #6
    Membre expérimenté Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Points : 1 572
    Points
    1 572
    Par défaut
    parce que dans un jar il y a fichier manifest et que sous eclipse (ce qui suis est personnel et peut etre eronné) je trouve c'est la croix et la banniere pour lui faire générer un jar un peu complexe.

    Idem je te renvoie a la FAQ, mais la general pour voir comment se manipule ce fichier manifest, reprendre les path auto-généré, le nom de la classe d'entrée...

    Je te conseil de te cogner ca a la main avec le bloc note et la console et l'outil "jar" (fournit dans le JDK)

    Courage

  7. #7
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Points : 730
    Points
    730
    Par défaut
    RAhhh

    Merci pour ce message d'encouragement j'étais justement en train de me le taper à la main, je me suis inspiré du message ici et 15 000 autres traitant de ce problème mais toujours rien.....
    Le contenu de mon fichier MANIFEST
    Manifest-Version: 1.0
    Main-Class: com.domaine.mon.Principale
    Class-Path: .lib/swingx-2006_10_20.jar .lib/commons-dbutils-1.0.jar .ressource/hsqldb/lib/servlet.jar .ressource/hsqldb/lib/hsqldb.jar
    Pour les points avant le nom du chemin j'ai lu ca sur le lien donné au dessus, pour eux ça marche y'a plusieurs personnes qui manifestent leur joies sur ce post.
    J'ai essayé avec et sans "." ca marche aussi mal. J'ai aussi fait un saut de ligne à la fin.

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


    Je ne comprend pas trop la raison de ce point ??? Dans le sujet il parle d'un point car ses chemins commence par un / et que ./lib et lib est équivalent !

    Donc il faut simplement que tu utilises le nom de ton répertoire...


    Sinon quelque questions en vrac :
    • Quel est ton système d'exploitation
    • Vérifie bien le nom de tes jars (et également les différences de casse minuscule/majuscule)
    • Vérifie la présence du fichier JXTaskPaneContainer.class dans le jar...
    • Essaye le code suivant :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      java -cp lib/swingx-2006_10_20.jar;lib/commons-dbutils-1.0.jar;ressource/hsqldb/lib/servlet.jar;ressource/hsqldb/lib/hsqldb.jar;programme.jar com.domaine.mon.Principale
      (sous Linux remplace les ';' par des ':')

      Si ca marche comme cela cela signifie que c'est ton manifest qui est incorrect. Sinon ton problème vient d'ailleurs...


    a++

  9. #9
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Points : 730
    Points
    730
    Par défaut
    Salut,

    Citation Envoyé par adiGuba
    Salut,


    Je ne comprend pas trop la raison de ce point ??? Dans le sujet il parle d'un point car ses chemins commence par un / et que ./lib et lib est équivalent !

    Donc il faut simplement que tu utilises le nom de ton répertoire...
    En faite j'étais désespéré et près à tout essayer même les choses les moins logiques, et c'est généralement en testant pleins des trucs idiots qu'on se rend compte des erreurs.

    Citation Envoyé par adiGuba

    Sinon quelque questions en vrac :
    • Quel est ton système d'exploitation
    • Vérifie bien le nom de tes jars (et également les différences de casse minuscule/majuscule)
    • Vérifie la présence du fichier JXTaskPaneContainer.class dans le jar...
    • Windows
    • Le nom des jars ok
    • Le fichier JXTaskPaneContainer est bien présent


      Citation Envoyé par adiGuba
    • Essaye le code suivant :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      java -cp lib/swingx-2006_10_20.jar;lib/commons-dbutils-1.0.jar;ressource/hsqldb/lib/servlet.jar;ressource/hsqldb/lib/hsqldb.jar;programme.jar com.domaine.mon.Principale
      (sous Linux remplace les ';' par des ':')
    J'ai testé et ca me renvoie le même message d'erreur.

    Citation Envoyé par adiGuba
    Si ca marche comme cela cela signifie que c'est ton manifest qui est incorrect. Sinon ton problème vient d'ailleurs...
  10. Citation Envoyé par adiGuba

    Donc mon MANIFEST est bon!!!

    Le jar swingx je l'ai récupéré sur le site swingx, logiquement si le jar fonctionne sous eclipse, il devrait être hors d'état de cause, de plus j'utilise d'autres classes du jar swingx dans mon fichier Principale, et la class JXTaskPaneContainer et utilisée dans un autre fichier...

    J'ai testé en virant les appels à cette classe est ça fonctionne... Mais j'ai besoin de cette classe!!! Nom d'un petit bonhomme!!!

    Merci pour votre aide.

  • #10
    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 grabriel
    J'ai testé et ca me renvoie le même message d'erreur.
    Les jars sont-ils bien dans le répertoire lib ??? Ce répertoire est-il bien accessible en lecture pour tout le monde (problème de droit ?). Quel est ton arborescence de fichier exact ?

    Sinon je vois pas trop...

    a++

  • #11
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 94
    Points : 102
    Points
    102
    Par défaut
    Tes jars de lib ne sont-ils pas dans ton jar ?
    Avec 95% des versions de java ( j'ai réussit avec une ou deux ) tu ne peux pas mettre de jar dans un jar, il faut les mettre en dehors.

    Sinon il faut que tu unjar toutes tes libs dans le même répertoire que tu refasses un jar du répertoire complet et que tu signes le tout si tu utilises des jars signés (lourd si tu n'utilises pas ant).

  • #12
    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 Kikito
    Tes jars de lib ne sont-ils pas dans ton jar ?
    Avec 95% des versions de java ( j'ai réussit avec une ou deux ) tu ne peux pas mettre de jar dans un jar, il faut les mettre en dehors.
    Les jars ne doivent pas contenir d'autre jar, et les chemins spécifié dans l'attribut Class-Path du manifest correspondent à des chemins relatifs par rapport au répertoire qui contient le jar principale...

    Donc si tes jar sont contenus dans le jar principale ton problème vient de là !

    a++

  • #13
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 94
    Points : 102
    Points
    102
    Par défaut
    Heu c'est pas moi qui posais la question de départ tu te trompes de personne , je sais bien qu'un jar ne peut contenir de jar, j'essayais justement de savoir si ce n'est pas ça que grabriel avait comme problème.

  • #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
    Citation Envoyé par Kikito
    Heu c'est pas moi qui posais la question de départ tu te trompes de personne
    Non non je ne me trompe pas : je confirmais juste ton message ! (mais c'est vrai que la dernière phrase s'adresse à grabriel et que ce n'est pas très clair)

    a++

  • #15
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Points : 730
    Points
    730
    Par défaut
    Salut,

    Vous battez pas

    Oui mon jar contient des jars, je vais faire comme vous dites je vais voir pour unjarer tout ça et refaire un jar qui je l'espère ira bien!!!

    Merci beaucoup pour le coup de main.

  • #16
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Points : 730
    Points
    730
    Par défaut
    Citation Envoyé par Kikito
    Tes jars de lib ne sont-ils pas dans ton jar ?
    Avec 95% des versions de java ( j'ai réussit avec une ou deux ) tu ne peux pas mettre de jar dans un jar, il faut les mettre en dehors.
    J'ai vu sur ce tuto qu'il est possible d'inclure des jar dans un jar, je n'ai pas testé mais je relay l'information.
    http://baptiste-wicht.developpez.com...a/executables/

  • + Répondre à la discussion
    Cette discussion est résolue.
    ActualitésFAQs JavaTutoriels JavaLivres JavaSources JavaOutils, EDI & API JavaJavaSearch

    Discussions similaires

    1. Problème de lancement de mon .JAR
      Par BobbyWeb dans le forum Général Java
      Réponses: 8
      Dernier message: 12/10/2011, 00h46
    2. Problème au lancement d'un jar
      Par djamest dans le forum Langage
      Réponses: 3
      Dernier message: 21/06/2006, 13h24
    3. [Plugin] Problème de lancement
      Par relivio dans le forum Eclipse Platform
      Réponses: 1
      Dernier message: 03/08/2004, 14h34
    4. [Kylix] Problème de lancement
      Par jaguarwan dans le forum EDI
      Réponses: 1
      Dernier message: 21/02/2004, 22h40
    5. [Install] Problème de lancement sous debian sid
      Par SoaR245 dans le forum Eclipse Java
      Réponses: 1
      Dernier message: 18/02/2004, 10h01

    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