maven 自定义打包插件maven-assembly-plugin不完全记录

来源:互联网 发布:erp系统属于数据库 编辑:程序博客网 时间:2024/05/21 10:53

maven-assembly-plugin是maven为我们提供的第三方自定义打包插件,功能十分的强大。下面我们来看一下我们如何用maven-assembly-plugin进行打包吧。
首先我们需要在我们的pom下加入以下代码。

<build>    <plugins>      <plugin>        <artifactId>maven-assembly-plugin</artifactId>        <version>2.5.3</version>        <configuration>          <descriptor>src/assembly/dep.xml</descriptor>        </configuration>        <executions>          <execution>            <id>create-archive</id>            <phase>package</phase><!--在其生命周期打包的时候执行-->            <goals>              <goal>single</goal>            </goals>          </execution>        </executions>      </plugin>    </plugins>  </build>

细心的你已经发现在src/assembly目录下我们新键了一个dep.xml文件,文件内容如下所以:

<assembly xmlns="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>bin</id>  <!--需要打包的格式-->  <formats>    <format>tar.gz</format>    <format>tar.bz2</format>    <format>zip</format>  </formats>  <!--打包内容,第一个结果集表示包含README*,LICENSE*.NOTICE*这几个文件-->  <fileSets>    <fileSet>      <directory>${project.basedir}</directory>      <outputDirectory>/</outputDirectory>      <includes>        <include>README*</include>        <include>LICENSE*</include>        <include>NOTICE*</include>      </includes>    </fileSet>    <!--第二个结果集表示将编译后的目录jar包放到根目录下-->    <fileSet>      <directory>${project.build.directory}</directory>      <outputDirectory>/</outputDirectory>      <includes>        <include>*.jar</include>      </includes>    </fileSet>    <!--第三个结果集表示将编译后report放到docs目录下-->    <fileSet>      <directory>${project.build.directory}/site</directory>      <outputDirectory>docs</outputDirectory>    </fileSet>  </fileSets></assembly>

maven的参考文档:
http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html
https://maven.apache.org/guides/mini/guide-assemblies.html
https://maven.apache.org/guides/index.html
http://blog.csdn.net/u012562943/article/details/52980532