In Java Wie erstelle ich eine .jar / .tar.gz / .zip Archivdatei mit dem Maven-Assembly-Plugin? Maven- und Enterprise-Projekt-Tutorial
Veröffentlicht: 2020-10-07
Maven
ist ziemlich erstaunlich. Mit so vielen Plugins ist es derzeit eines der Best Java Build tool
auf dem Markt.
Ich benutze es in all meinen Projekten und bin stark davon abhängig. Baumöglichkeiten sind endlos. Vor einiger Zeit habe ich verschiedene Tutorials zu so vielen anderen Maven-Plugins geschrieben, und in diesem gehen wir auf maven-assembly-plugin
ein.
Das Maven Assembly Plugin verlässt sich auf die bereitgestellten Assembly-Deskriptoren, um seine Ausführung zu diktieren.
Hier ist eine Liste früherer Maven-Plugins-Tutorials:
-
maven-war-plugin
– Projekt .war-Datei erstellen. -
maven-resources-plugin
,maven-dependency-plugin
&maven-jar-plugin
– Java-Projekt inklusive aller Abhängigkeiten erstellen? -
maven-shade-plugin
– Erstellen Sie eine Java+Spring-basierte ausführbare JAR-Datei mit allen erforderlichen Abhängigkeiten, Eigenschaften und Ressourcen.
Haben Sie eine der folgenden Fragen? Dieses Tutorial wird auch dafür funktionieren.
- Wie erstelle ich eine JAR-Datei mit Maven?
- So verwenden Sie Maven, um eine JAR-Datei mit Abhängigkeiten zu erstellen
- Verwenden Sie pom.xml, um jar zu erstellen
- Der beste Weg, um Maven-Jar ohne Abhängigkeiten zu erstellen
- So erstellen Sie Maven-Jar einschließlich Abhängigkeiten
Beginnen wir mit maven-assembly-plugin
Schritt 1
Erstellen Sie ein neues Maven-Projekt in der Eclipse-Umgebung. Benennen Sie es als CrunchifyMavenBuildPlugins
. Wenn Sie über ein vorhandenes dynamisches Webprojekt oder Java-Projekt verfügen, können Sie mit diesen Schritten das Projekt in ein Maven-Projekt konvertieren. Nach dem Konvertieren des Projekts in Maven sollten Sie die generierte pom.xml
-Datei sehen, die wir für dieses Tutorial benötigen.
Hier ist meine Projektstruktur. Ich verwende mein vorhandenes Projekt, das insgesamt 8 java files
im Paket /src/com/crunchify/tutorials
.

Schritt 2
Öffnen Sie die Datei pom.xml Ihres Projekts und fügen Sie neue <plugin></plugin>
hinzu, hauptsächlich 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 > |
Schritt 3
Erstellen Sie eine neue Datei crunchify.xml
und legen Sie sie unter /src/com/crunchify/assembly
package ab. Wir haben auf diese Datei bereits in der obigen pom.xml
-Datei verwiesen.

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 > |
Hier exportieren wir unser Projekt in 3 verschiedene <formats>
- tar.gz
- Postleitzahl
- Teer
Das <directory>
-Tag zeigt das – holen Sie sich alles aus dem Paket src/com/crunchify/tutorial
und legen Sie es unter crunchify-output
Ordner ab, der unter dem <outputDirectory>
-Tag erwähnt wird.
Wenn Sie alles wie den Inhalt des /src
oder /resource
-Ordners einschließen möchten, können Sie unten verschiedene Variationen verwenden:
- <Verzeichnis>
src/com/crunchify/tutorial
</Verzeichnis> - <directory>
src
</directory> : alles im src-Ordner - <Verzeichnis>
resources
</Verzeichnis> : alles im Ressourcenordner - <Verzeichnis>
/
</Verzeichnis> : alles
Schritt 4
Klicken Sie mit der rechten Maustaste auf das Projekt CrunchifyMavenBuildPlugins => Run As
=> Maven build

- Stellen Sie Ziele als
clean assembly:assembly
- Klicken Sie auf
Apply
- Klicken Sie auf
Run

Schritt-5
Sie sollten die Nachricht BUILD SUCCESS
auf der Konsole sehen.
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 |
Schritt-6
NOTE:
Sie müssen diesen Schritt nicht ausführen.

Bekommst du diesen Fehler? Wenn Sie diese Fehlermeldung beim Erstellen der Assembly sehen, müssen Sie die folgende Zeile zur Datei pom.xml hinzufügen.
1 |
< tarLongFileMode > posix < / tarLongFileMode > |
Ich habe bei meinem ersten Versuch den obigen Fehler erhalten. Also bereits tarLongFileMode
zur obigen pom.xml-Datei hinzugefügt.
Schritt-7
how to verify
ich mich jetzt? Bitte gehen Sie zum target
Ihres Projekts und führen Sie den folgenden Befehl aus, um den .tag.gz file contents
.
bash-3.2$ tar zxvf CrunchifyMavenBuildPlugins-0.0.1-SNAPSHOT-bundle.tar.gz

Lassen Sie mich wissen, wenn Sie Fragen haben und auf Probleme stoßen, die dies ausführen.