Maven常用外掛介紹:Maven-assembly-plugin外掛
一:外掛的作用
Maven-assembly-plugin外掛作用:要想將寫的程式和它本身所依賴的jar包一起build到一個包裡,是maven中針對打包任務而提供的標準外掛。
其他的功能:
1. 提供一個把工程依賴元素、模組、網站文件等其他檔案存放到單個歸檔檔案裡。
2. 打包成指定格式分發包,支援各種主流的格式如zip、tar.gz、jar和war等,具體打包哪些檔案是高度可控的。
3. 能夠自定義包含/排除指定的目錄或檔案。
二:使用步驟:
1.
需要指定一個Assembly描述符檔案,該檔案指定了打包格式,包含的檔案/過濾的檔案等資訊,可以同時指定多個描述符檔案
2. 工程的pom.xml裡配置Assembly外掛。
三:案例介紹
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4.1</version>
<executions>
<execution>
<id>${project.version}</id>
<phase>package</phase><!-- 繫結到package生命週期階段上 -->
<goals>
<goal>single</goal><!-- 只執行一次 -->
</goals>
<configuration>
<descriptors><!--描述檔案路徑-->
<descriptor>dist.xml</descriptor>
</descriptors>
<!--這樣配置後,mvn deploy不會把assembly打的zip包上傳到nexus-->
<attach>false</attach>
</configuration>
</execution>
</executions>
</plugin>
Dist.xml檔案描述:
<assemblyxmlns="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>dist</id>
<formats><!--打包的檔案格式 -->
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<directory>src/main/bin</directory><!--需要打包的目錄 -->
<outputDirectory>/bin</outputDirectory><!-- 打包後輸出的路徑 -->
</fileSet>
<fileSet>
<directory>src/main/conf</directory>
<outputDirectory>/conf</outputDirectory>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<useProjectArtifact>true</useProjectArtifact><!-- 當前專案構件是否包含在這個依賴集合裡 -->
<outputDirectory>lib</outputDirectory><!--將scope為runtime的依賴包打包到lib目錄下。 -->
</dependencySet>
</dependencySets>
</assembly>