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

Maven Java Discussion :

Inclure tous les jars dans un jar


Sujet :

Maven Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Par défaut Inclure tous les jars dans un jar
    Bonjour,

    Actuellement, lorsque je package mon batch, tous les libs sont déplacés dans un répertoire lib (utilisation d'un assembly).

    En gros, à la fin de mon package, j'ai un tar.gz, contenant un répertoire lib (avec tous les jars), un répertoire conf.

    Ce que j'aimerai, c'est d'inclure toutes les lib dans un seul jar (il s'agit d'une demande de la prod).

    A la fin, j'aurai un tar.gz, avec un répertoire conf, et un répertoire lib contenant un seul jar.

    Est-ce possible et comment le réaliser. J'ai essayé d'utiliser le plugin maven-shade-plugin, mais ça fait pas trop ce que je veux.

    merci d'avance.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Par défaut
    Bonsoir,

    Oui c'est tout à fait possible avec le maven assembly plugin. J'ai écrit un article sur mon site la dessus : http://www.romain-gervais.fr/article...-assembly.html Je te laisse lire l'article j'ai un peu la flemme de tout réécrire ^^. J'explique dans un premier temps comment faire un unique jar contenant toutes les dépendances de ton appli, puis comment faire un tar.gz et un zip de ton jar.

    La partie qui t’intéresse le plus est du descriptor jar.xml :

    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
    22
    <assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
          <id>executable</id>
          <formats>
                <format>jar</format>
          </formats>
          <includeBaseDirectory>false</includeBaseDirectory>
          <dependencySets>
                <dependencySet>
                      <!-- décompresse les dépendances avant de les inclure dans le jar exécutable -->
                      <unpack>true</unpack>
                      <scope>runtime</scope>
                      <useProjectArtifact>false</useProjectArtifact>
                </dependencySet>
          </dependencySets>
          <fileSets>
                <fileSet>
                      <directory>${project.build.outputDirectory}</directory>
                      <outputDirectory></outputDirectory>
                </fileSet>
          </fileSets>
    </assembly>
    Bon courage.

    Romain.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Par défaut
    Tu es un bon !

    Merci pour l'info, d'après ta description, c'est tout à fait ce que je souhaite faire.

    Demain, j'essaierai de mettre ça en place ;

    merci bien !

  4. #4
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Hello,

    Il y a également une autre façon de procéder sans passer par un assembly, c'est en utilisant le plugin shade, dont c'est justement le but :
    http://maven.apache.org/plugins/maven-shade-plugin/
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Par défaut
    On peut aussi faire une archive (tar.gz ou autre) avec le plugin maven-shade ? Car si ce n'est pas possible autant passer par le maven assembly pour faire le jar, et l'archive.

    Romain.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Par défaut
    Romain,
    Je viens de tester ta méthode, ça marche comme le plugin shade.

    En fait, j'ai un jar contenant toutes les lib décompressé.

    Je ne veux pas qu'il soit décompressé.

    En gros, au lieu d'avoir 10000 jars dans un dossier lib, d'avoir un seul jar contenant tous les 10000 jars sans qu'ils soient décompressé.

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

Discussions similaires

  1. Inclure les classes d'un jar dans un war
    Par Krishtov dans le forum Maven
    Réponses: 7
    Dernier message: 09/02/2012, 15h19
  2. [NetBeans] Inclure des package externes dans mon jar
    Par JavaEli dans le forum NetBeans
    Réponses: 4
    Dernier message: 13/03/2011, 20h34
  3. Réponses: 7
    Dernier message: 03/05/2007, 15h58
  4. Réponses: 3
    Dernier message: 19/12/2006, 01h38
  5. inclure un jar dans un jar
    Par arasium dans le forum Langage
    Réponses: 7
    Dernier message: 31/07/2006, 10h08

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