maven-assembly-plugin配置
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
<!--
设置此程序集的标识。这是来自此项目的特定文件组合的符号名称。此外,除了用于通过将生成的归档的值附加到组合包以明确命名组合包之外,该ID在部署时用作工件的分类器。
-->
<!--string-->
<id/>
<!--
(许多) 指定程序集的格式。通过目标参数而不是在这里指定格式通常会更好。例如,允许不同的配置文件生成不同类型的档案。
可以提供多种格式,装配体插件将生成每种所需格式的档案。部署项目时,所有指定的文件格式也将被部署。
通过在<format>子元素中提供以下值之一来指定格式:
“zip” - 创建一个ZIP文件格式
“tar” - 创建一个TAR格式
“tar.gz”或“tgz” - 创建一个gzip'd TAR格式
“tar.bz2”或“tbz2” - 创建一个bzip'd TAR格式
“tar.snappy” - 创建一个灵活的TAR格式
“tar.xz”或“txz” - 创建一个xz'd TAR格式
“jar” - 创建一个JAR格式
“dir” - 创建分解的目录格式
“战争” - 创建一个WAR格式
-->
<!--List<String>-->
<formats/>
<!--
在最终归档中包含一个基本目录。例如,如果您正在创建一个名为“your-app”的程序集,则将includeBaseDirectory设置为true将创建一个包含此基本目录的归档文件。
如果此选项设置为false,则创建的存档将其内容解压缩到当前目录。
默认值是:true。
-->
<!--boolean-->
<includeBaseDirectory/>
<!--
设置生成的程序集归档的基本目录。如果没有设置,并且includeBaseDirectory == true,则将使用$ {project.build.finalName}。(从2.2-beta-1开始)
-->
<!--string-->
<baseDirectory/>
<!--
在最终档案中包含一个网站目录。项目的站点目录位置由Assembly Plugin的siteDirectory参数确定。
默认值是:false。
-->
<!--boolean-->
<includeSiteDirectory/>
<!--
(许多) 从常规归档流中过滤各种容器描述符的组件集合,因此可以将它们聚合然后添加。
-->
<!--List<ContainerDescriptorHandlerConfig>-->
<containerDescriptorHandlers>
<!--
配置文件头部的过滤器,以启用各种类型的描述符片段(如components.xml,web.xml等)的聚合。
-->
<containerDescriptorHandler>
<!--
处理程序的plexus角色提示,用于从容器中查找。
-->
<!--string-->
<handlerName/>
<!--
处理程序的配置选项。
-->
<!--DOM-->
<configuration/>
</containerDescriptorHandler>
</containerDescriptorHandlers>
<!--
(许多) 指定在程序集中包含哪些模块文件。moduleSet是通过提供一个或多个<moduleSet>子元素来指定的。
-->
<!--List<ModuleSet>-->
<moduleSets>
<!--
moduleSet表示一个或多个在项目的pom.xml中存在的<module>项目。这使您可以包含属于项目<modules>的源代码或二进制文件。
注意:从命令行使用<moduleSets>时,需要先通过“mvn package assembly:assembly”来传递包阶段。这个bug计划由Maven 2.1解决。
-->
<moduleSet>
<!--
如果设置为true,则该插件将包含当前反应堆中的所有项目,以便在此ModuleSet中进行处理。这些将被 纳入/排除(includes/excludes) 规则。(从2.2开始)
默认值是:false。
-->
<!--boolean-->
<useAllReactorProjects/>
<!--
如果设置为false,则该插件将从该ModuleSet中排除子模块的处理。否则,它将处理所有子模块,每个子模块都要遵守包含/排除规则。(从2.2-beta-1开始)
默认值是:true。
-->
<!--boolean-->
<includeSubModules/>
<!--
(许多) 当存在<include>子元素时,它们定义一组包含的项目坐标。如果不存在,则<includes>表示所有有效值。
工件坐标可以以简单的groupId:artifactId形式给出,或者可以以groupId:artifactId:type [:classifier]:version的形式完全限定。
另外,可以使用通配符,如*:maven- *
-->
<!--List<String>-->
<includes/>
<!--
(许多) 当存在<exclude>子元素时,它们定义一组要排除的项目工件坐标。如果不存在,则<excludes>不表示排除。
工件坐标可以以简单的groupId:artifactId形式给出,或者可以以groupId:artifactId:type [:classifier]:version的形式完全限定。
另外,可以使用通配符,如*:maven- *
-->
<!--List<String>-->
<excludes/>
<!--
当存在这个时,插件将在生成的程序集中包含这个集合中包含的模块的源文件。
包含用于在程序集中包含项目模块的源文件的配置选项。
-->
<!--ModuleSources-->
<sources>
<!--
在计算受该集合影响的文件时,是否应该使用标准排除模式,例如那些匹配CVS和Subversion元数据文件的排除模式。为了向后兼容,默认值是true。(从2.2-beta-1开始)
默认值是:true。
-->
<!--boolean-->
<useDefaultExcludes/>
<!--
设置输出目录相对于程序集根目录的根目录。例如,“日志”将把指定的文件放在日志目录中。
-->
<!--string-->
<outputDirectory/>
<!--
(许多) 当<include>子元素存在时,它们定义一组要包含的文件和目录。如果不存在,则<includes>表示所有有效值。
-->
<!--List<String>-->
<includes/>
<!--
(许多) 当存在<exclude>子元素时,它们定义一组要排除的文件和目录。如果不存在,则<excludes>不表示排除。
-->
<!--List<String>-->
<excludes/>
<!--
与UNIX权限类似,设置所包含文件的文件模式。这是一个 OCTAL VALUE。格式:(用户)(组)(其他)其中每个组件是Read = 4,Write = 2和Execute = 1的总和。
例如,值0644转换为用户读写,组和其他只读。默认值是0644
-->
<!--string-->
<fileMode/>
<!--
与UNIX权限类似,设置包含的目录的目录模式。这是一个 OCTAL VALUE。格式:(用户)(组)(其他)[Format: (User)(Group)(Other) ] 其中每个组件是Read = 4,Write = 2和Execute = 1的总和。
例如,值0755转换为用户读写,Group和其他只读。默认值是0755.
-->
<!--string-->
<directoryMode/>
<!--
(许多) 指定包含在程序集中的每个包含模块的哪些文件组。fileSet通过提供一个或多个<fileSet>子元素来指定。(从2.2-beta-1开始)
-->
<!--List<FileSet>-->
<fileSets>
<!--
fileSet允许将文件组包含到程序集中。
-->
<fileSet>
<!--
在计算受该集合影响的文件时,是否应该使用标准排除模式,例如那些匹配CVS和Subversion元数据文件的排除模式。为了向后兼容,默认值是true。(从2.2-beta-1开始)
默认值是:true。
-->
<!--boolean-->
<useDefaultExcludes/>
<!--
设置输出目录相对于程序集根目录的根目录。例如,“日志”将把指定的文件放在日志目录中。
-->
<!--string-->
<outputDirectory/>
<!--
(许多) 当<include>子元素存在时,它们定义一组要包含的文件和目录。如果不存在,则<includes>表示所有有效值。
-->
<!--List<String>-->
<includes/>
<!--
(许多) 当存在<exclude>子元素时,它们定义一组要排除的文件和目录。如果不存在,则<excludes>不表示排除。
-->
<!--List<String>-->
<excludes/>
<!--
与UNIX权限类似,设置所包含文件的文件模式。这是一个 OCTAL VALUE。格式:(用户)(组)(其他)其中每个组件是Read = 4,Write = 2和Execute = 1的总和。
例如,值0644转换为用户读写,组和其他只读。默认值是0644.
-->
<!--string-->
<fileMode/>
<!--
与UNIX权限类似,设置包含的目录的目录模式。这是一个 OCTAL VALUE。格式:(用户)(组)(其他)其中每个组件是Read = 4,Write = 2和Execute = 1的总和。
例如,值0755转换为用户读写,Group和其他只读。默认值是0755.
-->
<!--string-->
<directoryMode/>
<!--
设置模块目录的绝对或相对位置。例如,“src / main / bin”会选择定义这个依赖关系的项目的这个子目录。
-->
<!--string-->
<directory/>
<!--
设置此文件集中文件的行结束符。有效值:
“keep” - 保留所有的行结束
“unix” - 使用Unix风格的行尾(即“\ n”)
“lf” - 使用一个换行符结束符(即“\ n”)
“dos” - 使用DOS / Windows风格的行尾(即“\ r \ n”)
“windows” - 使用DOS / Windows风格的行尾(即“\ r \ n”)
“crlf” - 使用回车,换行符结尾(即“\ r \ n”)
-->
<!--string-->
<lineEnding/>
<!--
是否在复制文件时过滤符号,使用构建配置中的属性。(从2.2-beta-1开始)
默认值是:false。
-->
<!--boolean-->
<filtered/>
</fileSet>
</fileSets>
<!--
指定模块的finalName是否应该添加到应用于它的任何fileSets的outputDirectory值。(从2.2-beta-1开始)
默认值是:true。
-->
<!--boolean-->
<includeModuleDirectory/>
<!--
指定是否应从应用于该模块的文件集中排除当前模块下方的子模块目录。如果仅仅意味着复制与此ModuleSet匹配的确切模块列表的源,忽略(或单独处理)当前目录下目录中存在的模块,这可能会很有用。(从2.2-beta-1开始)
默认值是:true。
-->
<!--boolean-->
<excludeSubModuleDirectories/>