Maven Assembly Plugin 插件使用小結(jié)
1 Maven Assembly Plugin 地址
https://maven.apache.org/plugins/maven-assembly-plugin/index.html
2 Maven Assembly Plugin 特點
Maven Assembly Plugin使開發(fā)人員能夠?qū)㈨椖枯敵龊喜⒌絾蝹€可分發(fā)存檔中,該存檔還包含依賴項、模塊、站點文檔和其他文件
- 可以使用預(yù)定義的程序集描述符輕松構(gòu)建分發(fā)“程序集”。這些描述符處理許多常見操作,例如將項目與生成的文檔一起打包到單個 zip 存檔中。
- 或者,您的項目可以提供自己的描述符,并對依賴項、模塊、文件集和單個文件在程序集中的打包方式實現(xiàn)更高級別的控制。
- 支持的包格式有
zip,tar,tar.gz (or tgz),tar.bz2 (or tbz2),tar.snappy,tar.xz (or txz),tar.zst (or tzst),jar,dir,war,以及 ArchiveManager 已配置的任何其他格式
3 maven-assembly-plugin 的用法
3.1 使用預(yù)制描述符 jar-with-dependencies 構(gòu)建 一個包含所有依賴項的Jar文件
官網(wǎng)鏈接:https://maven.apache.org/plugins/maven-assembly-plugin/usage.html
- 構(gòu)建 一個包含所有依賴項可執(zhí)行的jar包
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.7.1</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<appendAssemblyId>false</appendAssemblyId>
<archive>
<manifest>
<!-- 指定主類 -->
<mainClass>com.ccf.Main</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<!-- bind to the packaging phase -->
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>- 如果要 打包成不可執(zhí)行的jar包,只需 刪除 mainClass配置
<archive> <manifest> <!-- 指定主類 --> <mainClass>com.yq.Main</mainClass> </manifest> </archive>
- 參數(shù)說明
- <appendAssemblyId>false</appendAssemblyId>
最后打包成的文件名 是否包含 assembly id,預(yù)制描述符jar-with-dependencies 對應(yīng)的 assembly id 就是"jar-with-dependencies",如果是true(默認(rèn)),會生成兩個文件,一個是不包含依賴的名為 {artifactId}{version}.jar,一個是包括全部依賴的名為{artifactId}{version}-jar-with-dependencies.jar,如果改為false,則只會有一個是包含依賴的名為 {artifactId}{version}.jar
- <appendAssemblyId>false</appendAssemblyId>
3.2 自定義描述符文件
大數(shù)據(jù)項目中往往有很多shell腳本、SQL腳本、.properties及.xml配置項等,采用assembly插件可以讓輸出的結(jié)構(gòu)清晰而標(biāo)準(zhǔn)化。
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.7.1</version>
<configuration>
<!-- 配置描述符文件 -->
<descriptors>
<descriptor>src/assembly/assembly.xml</descriptor>
</descriptors>
<archive>
<manifest>
<mainClass>com.yq.Main</mainClass> <!-- 指定主類 -->
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id> <!-- this is used for inheritance merges -->
<phase>package</phase> <!-- bind to the packaging phase -->
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>到此這篇關(guān)于Maven Assembly Plugin 插件使用小結(jié)的文章就介紹到這了,更多相關(guān)Maven Assembly Plugin 插件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
@RequestMapping 如何使用@PathVariable 從URI中獲取參數(shù)
這篇文章主要介紹了@RequestMapping 如何使用@PathVariable 從URI中獲取參數(shù)的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08
SSM框架中entity mapper dao service controll
這篇文章主要介紹了SSM框架中entity mapper dao service controller層的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11
JAVA線程池監(jiān)控以及動態(tài)調(diào)整示例詳解
這篇文章主要為大家介紹了JAVA線程池監(jiān)控以及動態(tài)調(diào)整示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
聊聊springboot2.2.3升級到2.4.0單元測試的區(qū)別
這篇文章主要介紹了springboot 2.2.3 升級到 2.4.0單元測試的區(qū)別,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10

