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

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