1. 程式人生 > >Maven常用外掛介紹:Maven-assembly-plugin外掛

Maven常用外掛介紹:Maven-assembly-plugin外掛

一:外掛的作用

Maven-assembly-plugin外掛作用:要想將寫的程式和它本身所依賴的jar包一起build到一個包裡,是maven中針對打包任務而提供的標準外掛

其他的功能:

1.      提供一個把工程依賴元素、模組、網站文件等其他檔案存放到單個歸檔檔案裡。

2.      打包成指定格式分發包,支援各種主流的格式如ziptar.gzjarwar等,具體打包哪些檔案是高度可控的。

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><!--scoperuntime的依賴包打包到lib目錄下。 -->

</dependencySet>

</dependencySets>

</assembly>