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 :

[JAR] Export Runnable JAR


Sujet :

Eclipse Java

  1. #1
    Membre éclairé Avatar de PtitGénie
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2007
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2007
    Messages : 231
    Par défaut [JAR] Export Runnable JAR
    Bonjour à tous !

    Je bloque sur quelque chose : lorsque j'exporte mon code (qui fonctionne) en fichier Runnable Java File, le fichier créé ne semble pas fonctionner
    Y a t'il quelque chose de précis à réaliser pour qu'il fonctionne sous cet export ?
    (désolé pour la question vague...)

    Merci d'avance ^^

  2. #2
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Salut,

    Alors j'imagine que tu fais Export > "Runnable JAR File" (un peu de précision ne fait pas de mal). Ensuite, tu dois sélectionner une launch configuration que tu as créée auparavant dans Eclipse.
    Déjà, est-ce que tu choisis la bonne configuration (tu en as peut-être plusieurs)? Est-ce que tu as essayé d'exécuter ton jar avec la console en faisant un:
    Parce que là, c'est quand même plutôt vague...

    Autre piste, le mieux serait que tu ouvres ton jar (avec n'importe quel outil pour ouvrir une archive: 7zip, WinRar, ...) et que tu jettes un œil sur le fichier MANIFEST.MF qui est dans le dossier META-INF.

    Voilà, à+
    Gueritarish

  3. #3
    Membre éclairé Avatar de PtitGénie
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2007
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2007
    Messages : 231
    Par défaut
    Merci de ta réponse ^^

    En effet je fais Export > "Runnable JAR File".

    En l'exécutant via la console là j'ai des erreurs qui apparaissent, des "no class def" principalement à premier vu d'oeil.

    Arf, pourtant directement sur Eclipse ces erreurs ne s'affichent pas

  4. #4
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Il suffit de définir le classpath qui va bien pour éviter ces erreurs.
    Si je devais deviner, je dirais que tu as défini des jars externes dans le build path de ton application. Mais, normalement, dans le Wizard d'export, il devrait te proposer d'importer les jars de ton application:
    • soit en extrayant le contenu des jars dans le nouveau jar créé
    • soit en intégrant les jars dans le nouveau jar (tu auras donc un jar contenant des jars)
    • soit en copiant les jars requis dans un dossier qui sera généré à côté de ton jar


    Dans tout les cas, ouvre ton jar pour vérifier ce qui se trouve à l'intérieur...

    Voilà, à+
    Gueritarish

  5. #5
    Membre éclairé Avatar de PtitGénie
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2007
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2007
    Messages : 231
    Par défaut
    En effet je les ai définis via le BuildPath :


    Nan, il ne me demande pas de choisir entre ces trois options...


    Un extrait de ce que contient le MANIFEST.MF, :
    Manifest-Version: 1.0
    Class-Path: .
    Main-Class: one

    Name: com/crystaldecisions/a/a/a.class
    SHA1-Digest: +8DdPi55IxG50u5lkAmxTEfjMcw=

    Name: com/businessobjects/crystalreports/viewer/core/bk$ad.class
    SHA1-Digest: b1fpn4e6gH9aakWk0p0qEHln6dg=

    Name: com/businessobjects/crystalreports/viewer/core/bk$bs.class
    SHA1-Digest: eHQFm9Rdx+fT8k86Qm3WRRGVQd0=

    Name: com/businessobjects/crystalreports/viewer/applet/Export.gif
    SHA1-Digest: 1lr1XhWoSbh2RLfJDLBjRvcizhU=

    Name: com/businessobjects/crystalreports/viewer/applet/h$2.class
    SHA1-Digest: 3G5Ig2wV9rT7FRZKlh6IHmyl4xg=

    Name: com/businessobjects/crystalreports/viewer/applet/g$7.class
    SHA1-Digest: ONKwYoUWyLvGl8VD9ea9TjAjLmI=

    Name: com/businessobjects/crystalreports/viewer/applet/Viewer_de.prope
    rties
    SHA1-Digest: XtKEHx4iFMksyWGnB4dLQ8lFUe4=

    Name: com/crystaldecisions/ReportViewer/ReportViewer16.gif
    SHA1-Digest: 3fHYdHqmknWYp3joVMdh7QGFDYQ=

    Name: com/crystaldecisions/MetafileRenderer/ce.class
    SHA1-Digest: L8aAw8jw7te2R8xtKD9iNVR6c9w=

    Name: com/crystaldecisions/MetafileRenderer/b0.class
    SHA1-Digest: Zik6kyl06pbZPw//42EkxUc+AcE=

    Name: com/crystaldecisions/MetafileRenderer/bj.class
    SHA1-Digest: zBZuRvT/jEvRc3b1jgruf9aeycg=

    Name: com/businessobjects/crystalreports/viewer/core/bb$b.class
    SHA1-Digest: LhQC/zJ6UsNuolESsFENioZYdLg=

    Name: com/businessobjects/crystalreports/viewer/core/bb$c.class
    SHA1-Digest: FTWziDZ6b0dR6dUdepPufjbGBpQ=

    Name: com/businessobjects/crystalreports/viewer/core/http/b.class
    SHA1-Digest: 251fcB5LSXDctdA5oOBRsS8HC3s=

  6. #6
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Tu utilises donc au moins Eclipse 3.4.
    Pour pallier à ce problème, tu peux mettre tes jars dans un dossier ("lib" par exemple) et ensuite éditer le MANIFEST.MF:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Class-Path: ./lib/myJar.jar (pour tous les jars) .
    où myJar.jar est le jar qu'il te faut ajouter (ex: boconfig.jar dans ton cas).
    7zip te permet d'éditer ce fichier sans avoir à refaire ton jar à la main. Après, je ne sais pas si les autres te permettent de le faire.

    Voilà, à+
    Gueritarish

  7. #7
    Membre éclairé Avatar de PtitGénie
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2007
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2007
    Messages : 231
    Par défaut
    Alors, j'ai déplacé tous les .jar dans un dossier Lib en éditant le fichier 6.jar via Winrar.
    Et sur la centaine de lignes du fichier MANIFEST je dois ajouter le ./lib/ ?!

    Quand je pense que la semaine dernière tout fonctionnait normalement -_-

  8. #8
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Non, tu dois juste ajouter les jars dans le classpath...
    Dans ton fichier MANIFEST.MF, tu as une seule ligne Class-Path.
    C'est sur cette ligne qu'il te faut ajouter tes jars.
    lib/biarengine.jar lib/biplugins.jar lib/boconfig.jar (etc.)
    Sans oublier le . à la fin.
    Jette un oeil sur le tuto de Sun au cas où...

  9. #9
    Membre éclairé Avatar de PtitGénie
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2007
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2007
    Messages : 231
    Par défaut
    Mais c'est absolument énorme la quantité de .jar que j'ai, pour les copier un par un sur la ligne

    Bon, je vais lire le tuto SUN

  10. #10
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Je ne sais pas comment tu te débrouilles, mais j'ai essayé d'exporter un projet sous Eclipse 3.4 et ça marche très bien...
    Est-ce que tes jars externes sont packager dans le jar créé (ils sont à "plat", tu as les packages contenus dans les jars)?
    Normalement, ça doit être le cas et donc ton MANIFEST n'a pas besoin de les référencer...

  11. #11
    Membre éclairé Avatar de PtitGénie
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2007
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2007
    Messages : 231
    Par défaut
    Oui je les vois bien lorsque je navigue dans le .jar avec Winrar...

    C'est peut-être lié au fait qu'il me dit en erreur annexe, lors de l'export, "duplicate entry" pour absolument tous les class que j'ai ajouté via le Build Path ?
    (je devance, non je n'ajoute bien qu'une fois chaque fichier, et puis même je viens de voir que quand tu tentes d'ajouter une libraire déjà ajoutée, ça ne la remet pas)




  12. #12
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    As-tu vérifié que tu n'as pas 2 jars avec des noms différents mais un contenu similaire?
    Parce que, ce qu'il se passe, c'est qu'Eclipse va extraire le contenu des jars dans ton nouveau jar. C'est comme pour un file system, il ne peut pas y avoir 2 fichiers avec le même nom dans le même package...

  13. #13
    Membre éclairé Avatar de PtitGénie
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2007
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2007
    Messages : 231
    Par défaut
    Bon bah je viens de me taper tous les fichiers .jar sur la ligne ClassPath pour qu'il me dise à l'exécution "ligne trop longue"

    Sinon, j'ai réglé le problème des .jar en double, j'ai tout vérifié et enlevé ceux en trop, et au final sur Eclipse à l'exécution je n'ai plus l'erreur annexe "duplicate entry".

  14. #14
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Oui effectivement, la ligne du Class-Path est limitée à un certain nombre de caractères. Mais avec les jar en double en moins, ton problème devrait être résolu non?

  15. #15
    Membre éclairé Avatar de PtitGénie
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2007
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2007
    Messages : 231
    Par défaut
    Non finalement ça ne devait pas être ça qui gênait.

    Il ne trouve toujours pas des libraires visiblement, "no class found" comme au départ.
    Comme tu me l'as demandé, oui toutes les class sont présentes "à plat" dans le .jar lorsque je l'ouvre avec Winrar.
    J'ai beau avoir ajouté toute de même un par un les .jar du ClassPath (que j'ai ajouté dans Eclipse en Externes via le BuildPath), ça n'y fait rien, donc ceux là ils les trouvaient bien dès le départ.

    Je n'comprend pas, partout je lis que Runnable Jar d'Eclipse sert justement à inclure automatiquement toutes les libraires externes servant à l'exécution sans se poser de question, alors c'est quoi son problème purée -_-


  16. #16
    Membre éclairé Avatar de PtitGénie
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2007
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2007
    Messages : 231
    Par défaut
    Ne serait-ce pas un problème de variable globale CLASSPATH ?
    Ou encore le fait que j'ai deux versions de Java, 1.4 et 1.6 installés ?

  17. #17
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Je ne pense pas que ce soit un problème de CLASSPATH. Ni de JRE.
    Tu devrais essayer de refaire un jar sans toucher au Class-Path du MANIFEST (maintenant que tu as enlevé les jar doublons).

  18. #18
    Membre éclairé Avatar de PtitGénie
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2007
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2007
    Messages : 231
    Par défaut
    J'ai recréé entièrement mon projet et ça ne fonctionnait toujours pas.

    MAIS bonne nouvelle (enfin) : en cherchant sur Google avec une partie du message d'erreur que j'avais, j'ai trouvé qu'il visait un .jar manquant. Il me manquait dans le dossier "external" des librairies de mon SDK, du coup j'ai réinstallé mon SDK et j'ai pu ajouter ce .jar à mon projet. Mon fichier Runnable Jar fonctionne enfin !

    Donc tu avais raison au départ, tout cela n'était qu'un problème de .jar manquant à mon projet. Vu que mon projet fonctionnait sous Eclipse je ne pensais pas que ce serait cela.

    Bref, merci pour ton temps ^^

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

Discussions similaires

  1. Export Runnable jar file
    Par Johngtrs dans le forum Général Java
    Réponses: 4
    Dernier message: 03/02/2014, 23h28
  2. Export rapport BIRT en runnable JAR file
    Par Florent_45 dans le forum BIRT
    Réponses: 8
    Dernier message: 23/10/2012, 10h27
  3. Export Runnable JAR File
    Par PtitGénie dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 13/10/2009, 13h51
  4. [.JAR] Exporter en .JAR
    Par netr dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 21/06/2006, 13h32
  5. [POI]Exportation de Jar avec librairies
    Par leminipouce dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 26/10/2005, 18h20

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