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 :

Jar exécutable d'un projet contenant d'autres jars


Sujet :

Langage Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 52
    Points : 54
    Points
    54
    Par défaut Jar exécutable d'un projet contenant d'autres jars
    bonsoir a tous ..
    voila en quelques mots..
    j ai créé ( le mot est bien grand) un projet qui utilise des librairies additionnelles..( jdbc vers postgresql et l api mail) et je voudrais en faire un jar executable...
    je sais que mon projet, contenant des jar doit etre traité avec fatjar, que j ai telechargé et installé, mais voila je crois que je n ai pas bien compris comment s'en servir..quelqu'un a t il deja fait cela .. ( jarer un projet contenant des librairies ) avec fatjar ou autre...
    un grand merci ....

  2. #2
    Membre actif Avatar de djidane39
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    272
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2006
    Messages : 272
    Points : 250
    Points
    250
    Par défaut
    J'ai des copains qui se sont posés la question, et ils n'ont pas trouvée de réponse (ils ne sont pas arrivés à faire un jar de plusieurs jar).
    Mais rien de sur. En tout cas si c'est possible ça m'interresse aussi de le savoir!

  3. #3
    Expert confirmé
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Points : 4 015
    Points
    4 015
    Par défaut
    Bonjour
    Citation Envoyé par djidane39
    ls ne sont pas arrivés à faire un jar de plusieurs jar).
    j'ai juste un exemple j'ai fais un appli dans lequel j'utilisais 3 jar et au final j'ai fait de mon code un jar (avec Fat Jar)alors pour pouvoir executer mon jar a moi il faut bien sûr a voir à sa disposition les autres jar que j'utiliser dans mon code
    En ce qui concerne les librairies additionnelles dont tu parles je sais pas trop je crois qu'il fait mettre toutes les librairies utilisé dans ton jar executable dans le meme dossier que ton jar exec
    Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !

    Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells

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


    C'est possible avec FatJar, mais ce dernier possède deux modes de fonctionnement qui pourrait poser problème :

    • Dans un cas il décompresse tous les jar pour les recompresser avec le code de ton application dans un seul et unique Jar, en générant un "gros" fichier MANIFEST commun à tous les jar.
      Mais cela peut poser des problèmes de licence puisque on peut considérer que les librairies annexes sont modifiées...
    • Dans le second cas (option One-Jar il me semble), les jar des librairies ne sont pas modifié mais directement ajouté dans le jar. Par contre le mécanisme de chargement des classes est modifié par un ClassLoader spécifique.
      Cela peut poser problème selon la manière dont tu exécutes ton application (cela pose problème avec Java Web Start il me semble).





    Perso je te conseillerais plutôt de laisser les jar externes en dehors de ton jar principal, par exemple dans un répertoire lib. Tu aurais ainsi cette arborescence :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    tonJarPrincipale.jar
    lib/
    	lib1.jar
    	lib2.jar
    Et dans le fichier manifest de ton jar principale, tu références les librairies externes via l'attribut Class-Path du manifest :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Class-Path: lib/lib1.jar lib/lib2.jar

    Cf : Comment créer un jar exécutable ?


    a++

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 52
    Points : 54
    Points
    54
    Par défaut
    merci à vous les gars ......
    et à bientot...

Discussions similaires

  1. Créer un jAR à partir de certaines classes d'un autre JAR
    Par jecomprendsrien dans le forum Maven
    Réponses: 1
    Dernier message: 28/01/2013, 15h18
  2. Créer jar exécutable d'un projet contenant d'autres jar
    Par a tunar with no tune dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 14/12/2007, 00h13
  3. créer un jar d'une appli java utilisant d'autres jar
    Par jakouz dans le forum Général Java
    Réponses: 2
    Dernier message: 14/02/2007, 17h20
  4. Jar excutable problématique sur une autre machine
    Par lars528 dans le forum Général Java
    Réponses: 8
    Dernier message: 23/08/2006, 10h49

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