maven-assembly-plugin 入门指南

来源:互联网 发布:家用健身器材 知乎 编辑:程序博客网 时间:2024/06/05 10:15
  • 使用 descriptorRefs(官方提供的定制化打包方式),官方提供的 descriptorRef 有 bin, jar-with-dependencies, src, project。【不建议使用】
<project>  [...]  <build>    [...]    <plugins>      <plugin>        <!-- NOTE: We don't need a groupId specification because the group is             org.apache.maven.plugins ...which is assumed by default.         -->        <artifactId>maven-assembly-plugin</artifactId>        <version>3.0.0</version>        <configuration>          <descriptorRefs>            <descriptorRef>jar-with-dependencies</descriptorRef>          </descriptorRefs>        </configuration>        [...]</project>
  • 使用 descriptors,指定打包文件 src/assembly/src.xml,在该配置文件内指定打包操作。
<project>  [...]  <build>    [...]    <plugins>      <plugin>        <artifactId>maven-assembly-plugin</artifactId>        <version>3.0.0</version>        <configuration>          <descriptors>            <descriptor>src/assembly/src.xml</descriptor>          </descriptors>        </configuration>        [...]</project>

描述符文件元素

id

<id>release</id>

id 标识符,添加到生成文件名称的后缀符。如果指定 id 的话,目标文件则是 ${artifactId}-${id}.tar.gz

formats

maven-assembly-plugin 支持的打包格式有zip、tar、tar.gz (or tgz)、tar.bz2 (or tbz2)、jar、dir、war,可以同时指定多个打包格式

  <formats>    <format>tar.gz</format>    <format>dir</format>  </formats>

dependencySets

用来定制工程依赖 jar 包的打包方式,核心元素如下表所示。

元素类型作用outputDirectoryString指定包依赖目录,该目录是相对于根目录includes/include*List<String>包含依赖excludes/exclude*List<String>排除依赖
<dependencySets>    <dependencySet>      <outputDirectory>/lib</outputDirectory>    </dependencySet>  </dependencySets>

fileSets

管理一组文件的存放位置,核心元素如下表所示。

元素类型作用outputDirectoryString指定文件集合的输出目录,该目录是相对于根目录includes/include*List<String>包含文件excludes/exclude*List<String>排除文件fileModeString指定文件属性,使用八进制表达,分别为(User)(Group)(Other)所属属性,默认为 0644
  <fileSets>    <fileSet>      <includes>        <include>bin/**</include>      </includes>      <fileMode>0755</fileMode>    </fileSet>    <fileSet>      <includes>        <include>/conf/**</include>        <include>logs</include>      </includes>    </fileSet>  </fileSets>

files

可以指定目的文件名到指定目录,其他和 fileSets 相同,核心元素如下表所示。

元素类型作用sourceString源文件,相对路径或绝对路径outputDirectoryString输出目录destNameString目标文件名fileModeString设置文件 UNIX 属性
 <files>    <file>      <source>README.txt</source>      <outputDirectory>/</outputDirectory>    </file>  </files>
原创粉丝点击