组装:单个

全名

org.apache.maven.plugins:maven-assembly-plugin:2.6:single

说明

从组装描述符组装应用程序包或分发。此目标适用于绑定到生命周期或直接从命令行调用(前提是在构建开始之前所有必需的文件都可用,或者由命令行上在此之前指定的另一个目标生成)。

属性

  • 需要执行一个 Maven 项目。
  • 需要范围内工件的依赖解析:compile
  • 目标是线程安全的并支持并行构建。
  • 在多项目构建中默认不继承。

必需参数

姓名 类型 自从 描述
最终名称 细绳 - 组装的分发文件的文件名。
默认值为${project.build.finalName}
输出目录 文件 - 组装分发文件的输出目录。
默认值为${project.build.directory}
工作目录 文件 - 如果需要,将 JAR 解压到的目录
默认值为${project.build.directory}/assembly/work

可选参数

姓名 类型 自从 描述
appendAssemblyId 布尔值 - 设置为 false 以从程序集最终名称中排除程序集 ID。
默认值为true
用户属性是assembly.appendAssemblyId
档案 Maven存档配置 - 这是归档构建器的一组说明,尤其是用于构建 .jar 文件。除了其他选项外,它还允许您为 jar 指定清单文件。请参阅Maven 存档器参考
归档基础目录 文件 - 这是创建存档文件的基本目录。此基本目录预先添加到程序集描述符中的任何 <directory>规范中。这是一个可选参数。
归档器配置 丛配置 2.2-β-3 允许特定于特定类型的存档格式的附加配置选项。这旨在捕获 XML 配置,该配置将用于反射性地设置存档器实例上的选项。
例如,要指示具有“ear”格式的程序集使用特定的部署描述符,您应该在插件配置中为 archiverConfig 值指定以下内容:

<appxml>${project.basedir}/somepath/app.xml</appxml>

布尔值 2.2-β-1 控制程序集插件是否尝试将生成的程序集附加到项目。
默认值为true
用户属性是assembly.attach
分类器 细绳 - 已弃用。请使用大会的 id 作为分类器,而不是
用户属性是分类器
分隔符 列表 2.4

用于在资源中过滤的表达式的分隔符集。这些定界符以“beginToken*endToken”的形式指定。如果没有给出“*”,则假定开始和结束的分隔符相同。

因此,默认过滤分隔符可以指定为:

<delimiters>
  <delimiter>${*}</delimiter>
  <delimiter>@</delimiter>
</delimiters>

由于'@'分隔符在两端是相同的,我们不需要指定'@*@'(尽管我们可以)。


描述符 细绳 - 已弃用。请改用描述符
用户属性是描述符
描述符Id 细绳 - 已弃用。请改用descriptorRefs
用户属性为descriptorId
描述符引用 细绳[] - 插件类路径中可用的程序集描述符的引用列表。默认类路径包括这些内置描述符:binjar-with-dependenciessrcproject。您可以通过向插件添加依赖项来添加其他人。
描述符源目录 文件 - 用于扫描描述符文件的目录。注意:这可能不适用于装配组件。
描述符 细绳[] - 要从中生成的描述符文件列表。
干运行 布尔值 - 如果设置了此标志,则调用 Archiver.createArchive() 之前的所有内容都将被执行。
默认值为false
用户属性是assembly.dryRun
编码 细绳 - 过滤资源时要应用的字符编码方案。
默认值为${project.build.sourceEncoding}
用户属性是编码
转义字符串 细绳 2.4 不会插入此字符串前面的表达式。如果您使用“\”作为转义字符串,则 ${foo} 将被替换为 ${foo}。
用户属性是assembly.escapeString
过滤器 列表 - 要使用的额外过滤器属性文件列表,以及在 POM 构建/过滤器部分中指定的系统属性、项目属性和过滤器属性文件,这些文件应该用于当前 mojo 执行期间的过滤。
通常,这些将从插件的执行部分配置,为特定执行提供一组不同的过滤器。
格式 列表 - 指定程序集的格式。可以提供多种格式,Assembly Plugin 将为每种所需格式生成一个存档。部署项目时,还将部署所有指定的文件格式。通过在 <format> 子元素中提供以下值之一来指定格式:
  • dir - 创建一个目录
  • zip - 创建 ZIP 文件格式
  • tar - 创建一个 TAR 格式
  • tar.gztgz - 创建 gzip 的 TAR 格式
  • tar.bz2tbz2 - 创建 bzip'd TAR 格式

忽略DirFormatExtensions 布尔值 - 如果设置了此标志,则在使用 assembly/format == 'dir' 和其他以 'dir' 开头的格式时,输出目录名称中的“.dir”后缀将被抑制。
注意:从 2.2-beta-3 开始,默认值为 true,而不是以前的 false。
默认值为true
忽略缺失描述符 布尔值 - 设置为 true 以便在缺少描述符时不会失败。
默认值为false
用户属性是assembly.ignoreMissingDescriptor
忽略权限 布尔值 2.2

设置为true以避免所有 chmod 调用。

注意:这将导致程序集插件 忽略程序集描述符中的所有文件模式/目录模式设置,以及解压依赖项中的所有文件权限!


默认值为false
用户属性是assembly.ignorePermissions
包括ProjectBuildFilters 布尔值 2.4.2 如果为 True(默认),则除了为程序集定义的任何其他过滤器之外,还使用 ​​${project.build.filters}。
默认值为true
用户属性是assembly.includeProjectBuildFilters
包括站点 布尔值 - 已弃用。请改为在程序集描述符中设置此变量
默认值为false
用户属性是includeSite
重新压缩ZippedFiles 布尔值 2.4 指示是否应再次压缩添加到程序集的 zip 档案(jar、zip 等)。再次压缩可能会导致更小的存档大小,但会显着延长执行时间。
默认值为true
runOnlyAtExecutionRoot 布尔值 2.2-beta-4 这将导致程序集仅在给定模块树的顶部运行。也就是说,在启动 mvn 执行的同一文件夹中包含的项目中运行。
默认值为false
用户属性是assembly.runOnlyAtExecutionRoot
跳过组装 布尔值 - 允许将程序集插件的一个或多个执行配置为跳过特定构建的标志。这使得程序集插件更易于从配置文件中控制。
默认值为false
用户属性是assembly.skipAssembly
tarLongFileMode 细绳 - 在长度超过 100 个字符的文件路径上设置 TarArchiver 行为。有效值为:“warn”(默认)、“fail”、“truncate”、“gnu”、“posix”、“posix_warn”或“omit”。
默认值为警告
用户属性是assembly.tarLongFileMode
仅更新 布尔值 2.2 这将导致程序集仅更新现有存档(如果存在)。

注意:可以在命令行上使用的属性在 2.4 之前的版本中被拼写为“assembly.updatOnly”。


默认值为false
用户属性是assembly.updateOnly
使用JvmChmod 布尔值 2.2

将使用 jvm chmod,这对用户可用,并且所有级别组级别将被忽略从 assembly-plugin 2.5 开始,对于 java7+ 的用户,此标志将被忽略


默认值为false
用户属性是assembly.useJvmChmod

参数详情

appendAssemblyId

设置为 false 以从程序集最终名称中排除程序集 ID。
  • 类型布尔值
  • 要求
  • 用户属性assembly.appendAssemblyId
  • 默认值

存档

这是归档构建器的一组说明,尤其是用于构建 .jar 文件。除了其他选项外,它还允许您为 jar 指定清单文件。请参阅Maven 存档器参考
  • 类型org.apache.maven.archiver.MavenArchiveConfiguration
  • 要求

归档基础目录

这是创建存档文件的基本目录。此基本目录预先添加到程序集描述符中的任何 <directory>规范中。这是一个可选参数。
  • 类型java.io.File
  • 要求

归档器配置

允许特定于特定类型的存档格式的附加配置选项。这旨在捕获 XML 配置,该配置将用于反射性地设置存档器实例上的选项。
例如,要指示具有“ear”格式的程序集使用特定的部署描述符,您应该在插件配置中为 archiverConfig 值指定以下内容:

<appxml>${project.basedir}/somepath/app.xml</appxml>
  • 类型org.codehaus.plexus.configuration.PlexusConfiguration
  • : 2.2-beta-3
  • 要求

附上

控制程序集插件是否尝试将生成的程序集附加到项目。
  • 类型布尔值
  • 2.2-beta-1
  • 要求
  • 用户属性assembly.attach
  • 默认值

分类器

已弃用。请改用大会的 id 作为分类器
这是用于生成的组装工件的工件分类器。通常,您将使用 assembly-id 而不是在此处指定它。
  • 类型java.lang.String
  • 要求
  • 用户属性分类器

分隔符

用于在资源中过滤的表达式的分隔符集。这些定界符以“beginToken*endToken”的形式指定。如果没有给出“*”,则假定开始和结束的分隔符相同。

因此,默认过滤分隔符可以指定为:

<delimiters>
  <delimiter>${*}</delimiter>
  <delimiter>@</delimiter>
</delimiters>

由于'@'分隔符在两端是相同的,我们不需要指定'@*@'(尽管我们可以)。

  • 类型java.util.List
  • : 2.4
  • 要求

描述符

已弃用。请改用描述符
程序集 XML 描述符文件。这必须是自定义描述符文件的路径。
  • 类型java.lang.String
  • 要求
  • 用户属性描述符

描述符标识符

已弃用。请改用descriptorRefs
预定义的程序集描述符 ID。您可以选择 bin、jar-with-dependencies 或 src。
  • 类型java.lang.String
  • 要求
  • 用户属性descriptorId

描述符参考

插件类路径中可用的程序集描述符的引用列表。默认类路径包括这些内置描述符:binjar-with-dependenciessrcproject。您可以通过向插件添加依赖项来添加其他人。
  • 类型java.lang.String[]
  • 要求

描述符源目录

用于扫描描述符文件的目录。注意:这可能不适用于装配组件。
  • 类型java.io.File
  • 要求

描述符

要从中生成的描述符文件列表。
  • 类型java.lang.String[]
  • 要求

干运行

如果设置了此标志,则调用 Archiver.createArchive() 之前的所有内容都将被执行。
  • 类型布尔值
  • 要求
  • 用户属性assembly.dryRun
  • 默认值

编码

过滤资源时要应用的字符编码方案。
  • 类型java.lang.String
  • 要求
  • 用户属性编码
  • 默认值${project.build.sourceEncoding}

转义字符串

不会插入此字符串前面的表达式。如果您使用“\”作为转义字符串,则 ${foo} 将被替换为 ${foo}。
  • 类型java.lang.String
  • : 2.4
  • 要求
  • 用户属性assembly.escapeString

过滤器

要使用的额外过滤器属性文件列表,以及在 POM 构建/过滤器部分中指定的系统属性、项目属性和过滤器属性文件,这些文件应该用于当前 mojo 执行期间的过滤。
通常,这些将从插件的执行部分配置,为特定执行提供一组不同的过滤器。
  • 类型java.util.List
  • 要求

最终名称

组装的分发文件的文件名。
  • 类型java.lang.String
  • 要求
  • 默认值${project.build.finalName}

格式

指定程序集的格式。可以提供多种格式,Assembly Plugin 将为每种所需格式生成一个存档。部署项目时,还将部署所有指定的文件格式。通过在 <format> 子元素中提供以下值之一来指定格式:
  • dir - 创建一个目录
  • zip - 创建 ZIP 文件格式
  • tar - 创建一个 TAR 格式
  • tar.gztgz - 创建 gzip 的 TAR 格式
  • tar.bz2tbz2 - 创建 bzip'd TAR 格式
  • 类型java.util.List
  • 要求

忽略目录格式扩展

如果设置了此标志,则在使用 assembly/format == 'dir' 和其他以 'dir' 开头的格式时,输出目录名称中的“.dir”后缀将被抑制。
注意:从 2.2-beta-3 开始,默认值为 true,而不是以前的 false。
  • 类型布尔值
  • 要求
  • 默认值

忽略MissingDescriptor

设置为 true 以便在缺少描述符时不会失败。
  • 类型布尔值
  • 要求
  • 用户属性assembly.ignoreMissingDescriptor
  • 默认值

忽略权限

设置为true以避免所有 chmod 调用。

注意:这将导致程序集插件 忽略程序集描述符中的所有文件模式/目录模式设置,以及解压依赖项中的所有文件权限!

  • 类型布尔值
  • : 2.2
  • 要求
  • 用户属性assembly.ignorePermissions
  • 默认值

包括ProjectBuildFilters

如果为 True(默认),则除了为程序集定义的任何其他过滤器之外,还使用 ​​${project.build.filters}。
  • 类型布尔值
  • 2.4.2
  • 要求
  • 用户属性assembly.includeProjectBuildFilters
  • 默认值

包括站点

已弃用。请改为在程序集描述符中设置此变量
设置为 true 以包含由 site:site 目标生成的站点。
  • 类型布尔值
  • 要求
  • 用户属性includeSite
  • 默认值

输出目录

组装分发文件的输出目录。
  • 类型java.io.File
  • 要求
  • 默认值${project.build.directory}

重新压缩压缩文件

指示是否应再次压缩添加到程序集的 zip 档案(jar、zip 等)。再次压缩可能会导致更小的存档大小,但会显着延长执行时间。
  • 类型布尔值
  • : 2.4
  • 要求
  • 默认值

runOnlyAtExecutionRoot

这将导致程序集仅在给定模块树的顶部运行。也就是说,在启动 mvn 执行的同一文件夹中包含的项目中运行。
  • 类型布尔值
  • 2.2-beta-4
  • 要求
  • 用户属性assembly.runOnlyAtExecutionRoot
  • 默认值

跳过组装

允许将程序集插件的一个或多个执行配置为跳过特定构建的标志。这使得程序集插件更易于从配置文件中控制。
  • 类型布尔值
  • 要求
  • 用户属性assembly.skipAssembly
  • 默认值

tarLongFileMode

在长度超过 100 个字符的文件路径上设置 TarArchiver 行为。有效值为:“warn”(默认)、“fail”、“truncate”、“gnu”、“posix”、“posix_warn”或“omit”。
  • 类型java.lang.String
  • 要求
  • 用户属性assembly.tarLongFileMode
  • 默认值警告

仅更新

这将导致程序集仅更新现有存档(如果存在)。

注意:可以在命令行上使用的属性在 2.4 之前的版本中被拼写为“assembly.updatOnly”。

  • 类型布尔值
  • : 2.2
  • 要求
  • 用户属性assembly.updateOnly
  • 默认值

使用JvmChmod

将使用 jvm chmod,这对用户可用,并且所有级别组级别将被忽略从 assembly-plugin 2.5 开始,对于 java7+ 的用户,此标志将被忽略

  • 类型布尔值
  • : 2.2
  • 要求
  • 用户属性assembly.useJvmChmod
  • 默认值

工作目录

如果需要,将 JAR 解压到的目录
  • 类型java.io.File
  • 要求
  • 默认值${project.build.directory}/assembly/work