En Java, comment créer un fichier d'archive .jar / .tar.gz / .zip à l'aide de maven-assembly-plugin ? Tutoriel Maven et Enterprise Project
Publié: 2020-10-07
Maven
est assez incroyable. Avec autant de plugins, c'est l'un des Best Java Build tool
sur le marché à l'heure actuelle.
Je l'utilise dans tous mes projets et en dépend fortement. Les possibilités de construction sont infinies. Il y a quelque temps, j'ai écrit différents tutoriels sur tant d'autres plugins maven et dans celui-ci, nous passerons en revue maven-assembly-plugin
.
Maven Assembly Plugin s'appuie sur les descripteurs d'assembly fournis pour dicter son exécution.
Voici une liste des tutoriels précédents sur les plugins maven :
-
maven-war-plugin
- Créer un fichier de projet .war. -
maven-resources-plugin
,maven-dependency-plugin
&maven-jar-plugin
- Construire un projet Java incluant toutes les dépendances ? -
maven-shade-plugin
- Créez un fichier .jar exécutable basé sur Java + Spring avec toutes les dépendances, propriétés et ressources requises.
Avez-vous l'une des questions ci-dessous ? Ce tutoriel fonctionnera également pour cela.
- Comment créer un fichier jar avec Maven ?
- Comment utiliser maven pour créer un fichier jar avec des dépendances
- Utilisez pom.xml pour créer un pot
- Meilleure façon de créer un pot maven sans dépendances
- Comment créer un jar maven incluant les dépendances
Commençons avec maven-assembly-plugin
Étape 1
Créez un nouveau projet Maven dans l'environnement Eclipse. Nommez-le CrunchifyMavenBuildPlugins
. Si vous avez un projet Web dynamique ou un projet Java existant, vous pouvez convertir le projet en projet Maven en suivant ces étapes. Après avoir converti le projet en Maven, vous devriez voir le fichier pom.xml
généré dont nous avons besoin pour ce tutoriel.
Voici la structure de mon projet. J'utilise mon projet existant qui contient au total 8 java files
sous le package /src/com/crunchify/tutorials
.

Étape 2
Ouvrez le fichier pom.xml de votre projet, ajoutez un nouveau <plugin></plugin>
principalement line 28 to 38
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
< project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi : schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > < modelVersion > 4.0.0 < / modelVersion > < groupId > CrunchifyMavenBuildPlugins < / groupId > < artifactId > CrunchifyMavenBuildPlugins < / artifactId > < version > 0.0.1 - SNAPSHOT < / version > < name > CrunchifyMavenBuildPlugins < / name > < properties > < project . build . sourceEncoding > UTF - 8 < / project . build . sourceEncoding > < / properties > < dependencies > < dependency > < groupId > wsdl4j < / groupId > < artifactId > wsdl4j < / artifactId > < version > 1.6.3 < / version > < / dependency > < dependency > < groupId > com . google . zxing < / groupId > < artifactId > core < / artifactId > < version > 2.0 < / version > < / dependency > < / dependencies > < build > < plugins > < plugin > < artifactId > maven - assembly - plugin < / artifactId > < version > 2.5.3 < / version > < configuration > < descriptors > < descriptor > src / com / crunchify / assembly / crunchify . xml < / descriptor > < / descriptors > < tarLongFileMode > posix < / tarLongFileMode > < / configuration > < / plugin > < / plugins > < / build > < / project > |
Étape 3
Créez un nouveau fichier crunchify.xml
et placez-le sous /src/com/crunchify/assembly
package. Nous avons déjà fait référence à ce fichier dans le fichier pom.xml
ci-dessus.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
< 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 > bundle < / id > < formats > < format > tar . gz < / format > < format > zip < / format > < format > tar < / format > < / formats > < includeBaseDirectory > false < / includeBaseDirectory > < fileSets > < fileSet > < directory > src / com / crunchify / tutorial < / directory > < outputDirectory > crunchify - output < / outputDirectory > < / fileSet > < / fileSets > < / assembly > |
Ici, nous exportons notre projet dans 3 différents <formats>
- tar.gz
- Zip *: français
- le goudron
La <directory>
montre que - obtenez tout sous le package src/com/crunchify/tutorial
et placez-le dans le dossier crunchify-output
qui est mentionné sous la <outputDirectory>
.
Si vous souhaitez inclure tout comme le contenu du dossier /src
ou /resource
, vous pouvez utiliser les différentes variantes ci-dessous :
- <répertoire>
src/com/crunchify/tutorial
</répertoire> - <répertoire>
src
</répertoire> : tout sous le dossier src - <répertoire>
resources
</répertoire> : tout sous le dossier ressources - <répertoire>
/
</répertoire> : tout
Étape 4
Clic droit sur le projet CrunchifyMavenBuildPlugins => Run As
=> Maven build

- Fournir des objectifs en tant
clean assembly:assembly
- Cliquez sur
Apply
- Cliquez sur
Run

Étape-5
Vous devriez voir le message BUILD SUCCESS
sur la console.
1 2 3 4 5 6 7 8 9 |
[ INFO ] --- maven - assembly - plugin : 2.5.3 : assembly ( default - cli ) @ CrunchifyMavenBuildPlugins --- [ INFO ] Reading assembly descriptor : src / com / crunchify / assembly / crunchify . xml [ INFO ] Building tar : / Users / crunchifyjavatutorials / CrunchifyMavenBuildPlugins / target / CrunchifyMavenBuildPlugins - 0.0.1 - SNAPSHOT - bundle . tar . gz [ INFO ] Building zip : / Users / crunchifyjavatutorials / CrunchifyMavenBuildPlugins / target / CrunchifyMavenBuildPlugins - 0.0.1 - SNAPSHOT - bundle . zip [ INFO ] Building tar : / Users / crunchifyjavatutorials / CrunchifyMavenBuildPlugins / target / CrunchifyMavenBuildPlugins - 0.0.1 - SNAPSHOT - bundle . tar [ INFO ] ------------------------------------------------------------------------ [ INFO ] BUILD SUCCESS [ INFO ] ------------------------------------------------------------------------ [ INFO ] Total time : 1.719 s |
Étape-6
NOTE:
vous n'êtes pas obligé d'effectuer cette étape.

Obtenez-vous cette erreur ? Si vous voyez ce message d'erreur lors de la construction de l'assemblage, vous devez ajouter la ligne ci-dessous au fichier pom.xml.
1 |
< tarLongFileMode > posix < / tarLongFileMode > |
J'ai eu l'erreur ci-dessus lors de ma 1ère tentative. Donc déjà ajouté tarLongFileMode
au fichier pom.xml ci-dessus.
Étape-7
Maintenant how to verify
? Veuillez vous rendre dans le dossier target
de votre projet et exécuter la commande ci-dessous pour voir le contenu de votre .tag.gz file contents
.
bash-3.2$ tar zxvf CrunchifyMavenBuildPlugins-0.0.1-SNAPSHOT-bundle.tar.gz

Faites-moi savoir si vous avez des questions et rencontrez des problèmes pour exécuter ceci.