您的位置:首页 > 其它

Maven常用插件介绍:Maven-assembly-plugin插件

2016-06-20 10:54 375 查看
一:插件的作用

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>
 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: