Javaでmaven-assembly-pluginを使用して.jar / .tar.gz / .zipアーカイブファイルを作成するにはどうすればよいですか? Mavenおよびエンタープライズプロジェクトのチュートリアル
公開: 2020-10-07
Maven
はかなり素晴らしいです。 非常に多くのプラグインを備えているため、現在市場でBest Java Build tool
の1つです。
私はすべてのプロジェクトでそれを使用しており、それに大きく依存しています。 ビルドの可能性は無限大です。 しばらく前に、他の多くのMavenプラグインについてさまざまなチュートリアルを作成しました。このチュートリアルでは、 maven-assembly-plugin
について説明します。
Mavenアセンブリプラグインは、提供されたアセンブリ記述子に依存して実行を指示します。
以前のMavenプラグインチュートリアルのリストは次のとおりです。
-
maven-war-plugin
–プロジェクトの.warファイルを作成します。 -
maven-resources-plugin
、maven-dependency-plugin
、maven-jar-plugin
–すべての依存関係を含むJavaプロジェクトをビルドしますか? -
maven-shade-plugin
–必要なすべての依存関係、プロパティ、およびリソースを使用して、Java + Springベースの実行可能.jarを作成します。
以下の質問はありますか? このチュートリアルはそれでも機能します。
- Mavenでjarファイルを作成するにはどうすればよいですか?
- Mavenを使用して依存関係のあるjarファイルを作成する方法
- pom.xmlを使用してjarを作成します
- 依存関係のないMavenjarを作成するための最良の方法
- 依存関係を含むMavenjarを作成する方法
maven-assembly-pluginを始めましょう
ステップ1
Eclipse環境で新しいMavenプロジェクトを作成します。 CrunchifyMavenBuildPlugins
という名前を付けます。 既存の動的WebプロジェクトまたはJavaプロジェクトがある場合は、これらの手順を使用して、プロジェクトをMavenプロジェクトに変換できます。 プロジェクトをMavenに変換すると、このチュートリアルに必要なpom.xml
ファイルが生成されます。
これが私のプロジェクト構造です。 /src/com/crunchify/tutorials
パッケージの下に合計8 java files
がある既存のプロジェクトを使用しています。

ステップ2
プロジェクトのpom.xmlファイルを開き、新しい<plugin></plugin>
を主に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 > |
ステップ-3
新しいファイルcrunchify.xml
を作成し、それを/src/com/crunchify/assembly
パッケージの下に置きます。 このファイルは、上記のpom.xml
ファイルですでに参照されています。
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 > |
ここでは、プロジェクトを3つの異なる<formats>
にエクスポートしています。

- tar.gz
- ジップ
- タール
<directory>
タグは次のことを示しています–パッケージsrc/com/crunchify/tutorial
の下にあるすべてのものを取得し、 <outputDirectory>
タグの下にあるcrunchify-output
フォルダーの下に置きます。
/src
や/resource
フォルダーの内容などすべてを含める場合は、以下のさまざまなバリエーションを使用できます。
- <ディレクトリ>
src/com/crunchify/tutorial
</ directory> - <directory>
src
</ directory>:srcフォルダーの下のすべて - <ディレクトリ>
resources
</ディレクトリ>:リソースフォルダの下にあるすべて - <ディレクトリ>
/
</ディレクトリ>:すべて
ステップ-4
プロジェクトを右クリックしますCrunchifyMavenBuildPlugins => Run As
者=> Maven build

-
clean assembly:assembly
- [
Apply
クリックします - [
Run
クリックします

ステップ-5
コンソールにBUILD SUCCESS
メッセージが表示されます。
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 |
ステップ-6
NOTE:
この手順を実行する必要はありません。

このエラーが発生していますか? アセンブリのビルド中にこのエラーメッセージが表示された場合は、pom.xmlファイルに以下の行を追加する必要があります。
1 |
< tarLongFileMode > posix < / tarLongFileMode > |
最初の試行で上記のエラーが発生しました。 したがって、すでにtarLongFileMode
を上記のpom.xmlファイルに追加しています。
ステップ-7
how to verify
? プロジェクトのtarget
フォルダに移動し、以下のコマンドを実行して、 .tag.gz file contents
を確認してください。
bash-3.2$ tar zxvf CrunchifyMavenBuildPlugins-0.0.1-SNAPSHOT-bundle.tar.gz

ご不明な点があり、これを実行する際に問題が発生した場合はお知らせください。