[英]Building Maven fat jar conditionally
我按照使用maven構建胖罐子中的示例進行操作 ,現在可以運行以下內容來構建/測試和安裝我的罐子。
mvn clean compile install
但是,現在install
需要花費更多時間,因為我們正在構建一個胖罐。 是否可能有兩個版本的安裝,其中一個版本僅構建不依賴項的jar,另一個版本執行此操作,另外還構建胖jar,例如:
mvn clean compile install
mvn clean compile install-fatjar
我知道install-fatjar
並不是一個有效的階段,只是想對我要完成的事情有所了解,即有條件的安裝,僅在提供選項時才構建fat jar。
為胖子創建一個概要文件,並配置Maven程序集插件以在該概要文件中創建胖子。
例如,使用以下配置文件:
<profiles>
<profile>
<id>fatjar</id>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>fully.qualified.MainClass</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
然后,您可以通過激活配置文件來構建它
mvn -P fatjar clean install
其中fatjar
是配置文件ID。
也可以激活多個配置文件
mvn -P fatjar,release install
通常,我們不使用fat-jar(或uber-jar)作為主要工件。
您可以使用Assembly或Shade插件來創建工件的變體(具有不同的分類器),它是一個uber-jar。
強烈建議您仍然保持“正常”工件。 如果僅偶爾需要uber-jar,請在配置文件中使用組裝/陰影插件創建“ uber-jar”,並在需要時激活配置文件。 但是,這仍將為您生成一個“額外的”超級容器,而不是使您的主要工件成為超級容器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.