În Java Cum se creează fișierul arhivă .jar / .tar.gz / .zip folosind maven-assembly-plugin? Tutorial Maven și Enterprise Project
Publicat: 2020-10-07
Maven
este destul de uimitor. Cu atât de multe plugin-uri, este unul dintre cele Best Java Build tool
pe piață chiar acum.
Îl folosesc în toate proiectele mele și depind foarte mult de el. Posibilitățile de construire sunt nesfârșite. Cu ceva timp în urmă, am scris diferite tutoriale despre atât de multe alte plugin-uri maven și în acesta vom trece peste maven-assembly-plugin
.
Maven Assembly Plugin se bazează pe descriptorii de asamblare furnizați pentru a dicta execuția acestuia.
Iată o listă cu tutorialul anterior al pluginurilor Maven:
-
maven-war-plugin
– Creați fișierul proiect .war. -
maven-resources-plugin
,maven-dependency-plugin
șimaven-jar-plugin
– Construiți proiectul Java, inclusiv toate dependențele? -
maven-shade-plugin
– Creați .jar executabil bazat pe Java+Spring cu toate dependențele, proprietățile și resursele necesare.
Aveți vreo întrebare de mai jos? Acest tutorial va funcționa și pentru el.
- Cum se creează un fișier jar cu Maven?
- Cum să utilizați Maven pentru a crea fișiere jar cu dependențe
- Utilizați pom.xml pentru a crea borcan
- Cel mai bun mod de a crea un borcan Maven fără dependențe
- Cum se creează un borcan Maven, inclusiv dependențe
Să începem cu maven-assembly-plugin
Pasul 1
Creați un nou proiect Maven în mediul Eclipse. Numiți-l ca CrunchifyMavenBuildPlugins
. Dacă aveți un proiect web dinamic sau un proiect Java, folosind acești pași, puteți converti proiectul în proiect Maven. După conversia proiectului în Maven, ar trebui să vedeți fișierul pom.xml
generat de care avem nevoie pentru acest tutorial.
Iată structura proiectului meu. Folosesc proiectul meu existent, care are un total de 8 java files
sub pachetul /src/com/crunchify/tutorials
.

Pasul 2
Deschideți fișierul pom.xml al proiectului dvs. adăugați <plugin></plugin>
nou, în principal 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 > |
Pasul 3
Creați un fișier nou crunchify.xml
și puneți-l în pachetul /src/com/crunchify/assembly
. Am referit acest fișier deja în fișierul pom.xml
de mai sus.

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 > |
Aici exportăm proiectul nostru în 3 <formats>
diferite
- tar.gz
- fermoar
- gudron
Eticheta <directory>
arată că – obțineți totul sub pachetul src/com/crunchify/tutorial
și puneți-l în folderul crunchify-output
care este menționat sub eticheta <outputDirectory>
.
Dacă doriți să includeți totul, cum ar fi conținutul folderului /src
sau /resource
, atunci puteți utiliza mai jos diferite variante:
- <directory>
src/com/crunchify/tutorial
</directory> - <directory>
src
</directory> : totul în folderul src - <directory>
resources
</directory> : totul în folderul resurse - <directory>
/
</directory> : totul
Pasul-4
Faceți clic dreapta pe proiectul CrunchifyMavenBuildPlugins => Run As
=> Maven build

- Oferiți obiective ca
clean assembly:assembly
- Faceți clic pe
Apply
- Faceți clic pe
Run

Pasul-5
Ar trebui să vedeți mesajul BUILD SUCCESS
pe consolă.
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 |
Pasul-6
NOTE:
nu trebuie să efectuați acest pas.

Primești această eroare? Dacă vedeți acest mesaj de eroare în timpul construcției ansamblului, atunci trebuie să adăugați linia de mai jos în fișierul pom.xml.
1 |
< tarLongFileMode > posix < / tarLongFileMode > |
Am primit o eroare de mai sus la prima mea încercare. Deci, a adăugat deja tarLongFileMode
la fișierul pom.xml de mai sus.
Pasul-7
Acum how to verify
? Accesați folderul target
al proiectului și rulați comanda de mai jos pentru a vedea .tag.gz file contents
.
bash-3.2$ tar zxvf CrunchifyMavenBuildPlugins-0.0.1-SNAPSHOT-bundle.tar.gz

Anunțați-mă dacă aveți întrebări și vă confruntați cu orice problemă la rularea acestuia.