在 Java 中如何使用 maven-assembly-plugin 創建 .jar / .tar.gz / .zip 存檔文件? Maven 和企業項目教程

已發表: 2020-10-07
多合一提示和教程-on-apache-maven-build-java-enterprise-project-using-maven

Maven真是太神奇了。 擁有如此多的插件,它是目前市場上Best Java Build tool之一。

我在我所有的項目中都使用它,並且非常依賴它。 構建可能性是無窮無盡的。 前段時間我寫了很多關於其他 maven 插件的不同教程,在這篇文章中,我們將討論maven-assembly-plugin

Maven 程序集插件依賴於提供的程序集描述符來指示其執行。

這是以前的 maven 插件教程的列表:

  • maven-war-plugin – 創建項目 .war 文件。
  • maven-resources-pluginmaven-dependency-pluginmaven-jar-plugin – 構建包含所有依賴項的 Java 項目?
  • maven-shade-plugin – 創建包含所有必需依賴項、屬性和資源的基於 Java+Spring 的可執行文件 .jar。

您有以下任何問題嗎? 本教程也適用於它。

  • 如何使用 Maven 創建 jar 文件?
  • 如何使用maven創建具有依賴關係的jar文件
  • 使用 pom.xml 創建 jar
  • 創建沒有依賴關係的maven jar的最佳方法
  • 如何創建包含依賴項的maven jar

讓我們開始使用 maven-assembly-plugin

第1步

在 Eclipse 環境中創建新的 Maven 項目。 將其命名為CrunchifyMavenBuildPlugins 。 如果您有現有的動態 Web 項目或 Java 項目,則可以使用這些步驟將項目轉換為 maven 項目。 將項目轉換為 Maven 後,您應該會看到生成了本教程所需的pom.xml文件。

這是我的項目結構。 我正在使用我現有的項目,該項目在/src/com/crunchify/tutorials包下共有8 java files

maven 組裝插件 - Crunchify 教程

第2步

打開項目的 pom.xml 文件添加新的<plugin></plugin>主要是line 28 to 38

第三步

創建新文件crunchify.xml並將其放在/src/com/crunchify/assembly包下。 我們已經在上面的pom.xml文件中引用了這個文件。

在這裡,我們將項目導出為 3 種不同的<formats>

  • 壓縮包
  • 壓縮
  • 柏油

<directory>標籤顯示 – 獲取包src/com/crunchify/tutorial下的所有內容,並將其放在<outputDirectory>標籤下提到的crunchify-output文件夾下。

如果您想包含/src/resource文件夾內容之類的所有內容,則可以使用以下不同的變體:

  1. <目錄> src/com/crunchify/tutorial </目錄>
  2. <directory> src </directory> : src 文件夾下的所有內容
  3. <directory> resources </directory> :資源文件夾下的所有內容
  4. <directory> / </directory> : 一切

第四步

右鍵單擊項目 CrunchifyMavenBuildPlugins => Run As => Maven build

Maven 右鍵單擊並清理構建 - Crunchify
  • 提供目標作為clean assembly:assembly
  • 單擊Apply
  • 單擊Run
使用 eclipse build 命令創建程序集

第 5 步

您應該在控制台上看到BUILD SUCCESS消息。

第 6 步

NOTE:您不必執行此步驟。

maven 部署描述符的 tarLongFileMode - maven 程序集插件

你收到這個錯誤了嗎? 如果您在構建程序集時看到此錯誤消息,則必須在 pom.xml 文件中添加以下行。

我在第一次嘗試時遇到了上述錯誤。 所以已經將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

maven 程序集插件 - 驗證結果 - crunchify

讓我知道您是否有任何問題並遇到運行此問題的任何問題。