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

Entrée/Sortie Java Discussion :

[JAR]Intégrer des librairies Jar et Zip dans un seul jar


Sujet :

Entrée/Sortie Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 167
    Points : 120
    Points
    120
    Par défaut [JAR]Intégrer des librairies Jar et Zip dans un seul jar
    Bonjour a tous,
    J'ai vu que ce sujet a déjà été abordé sur le forum...mais je suis un peu perdu...

    J'ai créé un projet, qui utilise 3 librairies (jdom.jar, xerces.jar et classes12.zip)
    Je voudrais créer un jar qui contient tous le projet, y compris les librairies?
    Est-ce possible?
    Faut t'il utiliser le plug-in fat jar? ou peux t'on le faire directement?
    Est -il possible enfin, que l'application puisse écrire lors de son fonctionnement dans un fichier contenu dans un Jar? (Fichier de log par exemple?)
    Je remerci d'avance tous ceux qui pourrons m'éclairer un peu sur le fonctionnement des Jar...
    La naissance est le seul fruit du hasard

  2. #2
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Tu peux le faire directement grace à ant.
    Attention cependant à d'eventuel probleme de MANIFEST.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
      <jar jarfile="${dist}/CompileLibs.jar">     	     	            	        
          <zipfileset src="${libDir}/activation.jar"/>   
          <zipfileset src="${libDir}/c3p0-0.8.5.jar"/>   
         ......
      </jar>
    -----------------------------------------------
    Steve Hostettler
    ze_key@hotmail.com / www.zekey.net
    Steve Hostettler
    est ton ami(e) et le tag aussi.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 167
    Points : 120
    Points
    120
    Par défaut
    Merci ze_key pour ta réponse...
    Mais avec eclipse, sans même aller utiliser ant, ben j'arrive a les mettres dans le jar...mais l'appli n'arrive pas a y accéder...j'ai peux être une erreur dans mon manifest...
    Voici la description utilisée par eclipse pour créer mon jar :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    <?xml version="1.0" encoding="UTF-8"?>
    <jardesc>
        <jar path="/home1/workspace/Agate/deploy/agate.jar"/>
        <options overwrite="false" compress="true" exportErrors="true"   exportWarnings="true" saveDescription="true" descriptionLocation="/Agate/lib/Agate.jardesc" useSourceFolders="false" buildIfNeeded="true"/>
        <manifest manifestVersion="1.0" usesManifest="true" reuseManifest="false" saveManifest="false" generateManifest="false" manifestLocation="/Agate/lib/MANIFEST.MF">
            <sealing sealJar="true">
                <packagesToSeal/>
                <packagesToUnSeal/>
            </sealing>
        </manifest>
        <selectedElements exportClassFiles="true" exportOutputFolder="false" exportJavaFiles="false">
            <file path="/Agate/lib/classes12.zip"/>
            <file path="/Agate/lib/requetes.xml"/>
            <file path="/Agate/lib/xerces.jar"/>
            <javaElement handleIdentifier="=Agate/src"/>
            <file path="/Agate/lib/Champs.sxc"/>
            <file path="/Agate/lib/jdom.jar"/>
            <file path="/Agate/lib/connexion.xml"/> 
        </selectedElements>
    </jardesc>

    Et mon Manifest :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Manifest-Version: 1.0
    Main-class: Main
    Class-Path: jdom.jar classes12.zip xerces.jar
     
    Name: /
    Sealed: true
    Mais ca fonctionne pas...il trouve pas mes librairies (plante a la recherche de JDom...)
    Quelqu'un peut'il m'aider?
    Merci d'avance
    La naissance est le seul fruit du hasard

  4. #4
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Essayes quand même avec ant, il se charge lui même du manifest.

    -----------------------------------------------
    Steve Hostettler
    ze_key@hotmail.com / www.zekey.net
    Steve Hostettler
    est ton ami(e) et le tag aussi.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 167
    Points : 120
    Points
    120
    Par défaut
    Oki je test ca...
    La naissance est le seul fruit du hasard

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 167
    Points : 120
    Points
    120
    Par défaut
    Je m'en sors pas avec ant...
    J'ai aussi essayer fat-jar...ca fonctionne bien, mais dans le jar qu'il me produit, il y a les librairies au format jar, et les mêmes décompressées...soit tout en double....pffff
    Si quelqu'un peux m'aider, ou si ze_key veux bien me filer son build.xml pour ant, histoire de voir comment on utilise ant...
    De même si quelqu'un connait un bon tuto sur les jars et leur fonctionnement, je suis preneur!
    Merci d'avance...
    La naissance est le seul fruit du hasard

  7. #7
    Membre du Club Avatar de lebesnec
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 82
    Points : 63
    Points
    63
    Par défaut
    hum si tu trouve une solution ça m'intéresse ...
    personellement j'ai jamais réussi à accéder à un Jar à l'intérieur d'un Jar, j'ai du les dézippé
    Chercher dans la Javadoc directement depuis Firefox / IE7 : http://lebesnec.free.fr/?p=8

  8. #8
    NGY
    NGY est déconnecté
    Membre habitué
    Inscrit en
    Août 2002
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 137
    Points : 164
    Points
    164
    Par défaut
    personellement j'ai jamais réussi à accéder à un Jar à l'intérieur d'un Jar
    C'est normal : on ne peut pas. Il faut livrer les jars externes en plus du jar de l'application.
    Ensuite, dans le manifest contenu dans le jar de l'application, il faut indiquer l'emplacement et le nom des jars utilisés.

    Faites une recherche, la question est souvent posée et il doit y avoir une réponse plus détaillée quelque part sur le site (forum, FAQ, ...)

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 167
    Points : 120
    Points
    120
    Par défaut
    Merci...c'est bien ce qu'il me semblait...
    Mon appli fonctionne comme ca pour l'instant, un jar avec mes sources, et des jars externes...
    En fait, fat-jar (plugin eclipse)...ben ca permet juste de créer un jar, en y ajoutant d'autres jars...mais il les décompresse...
    Donc bah je pense que je vais continuer comme ca...jar + jar externes...
    Merci quand même!
    La naissance est le seul fruit du hasard

  10. #10
    NGY
    NGY est déconnecté
    Membre habitué
    Inscrit en
    Août 2002
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 137
    Points : 164
    Points
    164
    Par défaut
    Oui, décompresser des jars pour ensuite intégrer les .class dans le jar de l'appli, c'est possible.
    Mais attention à la licence des jars en question. Elle n'autorise pas forcément cela !

Discussions similaires

  1. [EJB] Faire cohabiter des ejb2 et ejb3 dans un seul jar
    Par fahugues dans le forum Java EE
    Réponses: 3
    Dernier message: 12/05/2009, 15h13
  2. Intégrer des classes d'autre projets dans son JAR
    Par romaintaz dans le forum Maven
    Réponses: 7
    Dernier message: 20/02/2008, 12h02
  3. Créer un jar avec des librairies externes
    Par bart64 dans le forum Langage
    Réponses: 4
    Dernier message: 28/07/2006, 05h37
  4. [jar] inclure des librairie externe
    Par Grummfy dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 13/12/2005, 13h41
  5. [JAR exécutable] comment y intégrer des librairies ?
    Par sixkiller dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 07/04/2005, 10h03

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