集会

Maven 程序集插件依赖于提供的程序集描述符来指示其执行。虽然已经有预制的描述符可供使用,但它们只能满足一些常见的组装要求。

因此,为了让您自定义程序集插件创建程序集的方式,您需要知道如何使用程序集描述符。

此描述符指定要创建的程序集存档的类型、程序集的内容以及依赖项或其模块与程序集捆绑的方式。

<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.1.0 http://maven.apache.org/xsd/assembly-2.1.0.xsd">
  <id/>
  <formats/>
  <includeBaseDirectory/>
  <baseDirectory/>
  <includeSiteDirectory/>
  <containerDescriptorHandlers>
    <containerDescriptorHandler>
      <handlerName/>
      <configuration/>
    </containerDescriptorHandler>
  </containerDescriptorHandlers>
  <moduleSets>
    <moduleSet>
      <useAllReactorProjects/>
      <includeSubModules/>
      <includes/>
      <excludes/>
      <sources>
        <useDefaultExcludes/>
        <outputDirectory/>
        <includes/>
        <excludes/>
        <fileMode/>
        <directoryMode/>
        <fileSets>
          <fileSet>
            <useDefaultExcludes/>
            <outputDirectory/>
            <includes/>
            <excludes/>
            <fileMode/>
            <directoryMode/>
            <directory/>
            <lineEnding/>
            <filtered/>
            <nonFilteredFileExtensions/>
          </fileSet>
        </fileSets>
        <includeModuleDirectory/>
        <excludeSubModuleDirectories/>
        <outputDirectoryMapping/>
      </sources>
      <binaries>
        <outputDirectory/>
        <includes/>
        <excludes/>
        <fileMode/>
        <directoryMode/>
        <attachmentClassifier/>
        <includeDependencies/>
        <dependencySets>
          <dependencySet>
            <outputDirectory/>
            <includes/>
            <excludes/>
            <fileMode/>
            <directoryMode/>
            <useStrictFiltering/>
            <outputFileNameMapping/>
            <unpack/>
            <unpackOptions>
              <includes/>
              <excludes/>
              <filtered/>
              <nonFilteredFileExtensions/>
              <lineEnding/>
              <useDefaultExcludes/>
              <encoding/>
            </unpackOptions>
            <scope/>
            <useProjectArtifact/>
            <useProjectAttachments/>
            <useTransitiveDependencies/>
            <useTransitiveFiltering/>
          </dependencySet>
        </dependencySets>
        <unpack/>
        <unpackOptions>
          <includes/>
          <excludes/>
          <filtered/>
          <nonFilteredFileExtensions/>
          <lineEnding/>
          <useDefaultExcludes/>
          <encoding/>
        </unpackOptions>
        <outputFileNameMapping/>
      </binaries>
    </moduleSet>
  </moduleSets>
  <fileSets>
    <fileSet>
      <useDefaultExcludes/>
      <outputDirectory/>
      <includes/>
      <excludes/>
      <fileMode/>
      <directoryMode/>
      <directory/>
      <lineEnding/>
      <filtered/>
      <nonFilteredFileExtensions/>
    </fileSet>
  </fileSets>
  <files>
    <file>
      <source/>
      <sources/>
      <outputDirectory/>
      <destName/>
      <fileMode/>
      <lineEnding/>
      <filtered/>
    </file>
  </files>
  <dependencySets>
    <dependencySet>
      <outputDirectory/>
      <includes/>
      <excludes/>
      <fileMode/>
      <directoryMode/>
      <useStrictFiltering/>
      <outputFileNameMapping/>
      <unpack/>
      <unpackOptions>
        <includes/>
        <excludes/>
        <filtered/>
        <nonFilteredFileExtensions/>
        <lineEnding/>
        <useDefaultExcludes/>
        <encoding/>
      </unpackOptions>
      <scope/>
      <useProjectArtifact/>
      <useProjectAttachments/>
      <useTransitiveDependencies/>
      <useTransitiveFiltering/>
    </dependencySet>
  </dependencySets>
  <repositories>
    <repository>
      <outputDirectory/>
      <includes/>
      <excludes/>
      <fileMode/>
      <directoryMode/>
      <includeMetadata/>
      <groupVersionAlignments>
        <groupVersionAlignment>
          <id/>
          <version/>
          <excludes/>
        </groupVersionAlignment>
      </groupVersionAlignments>
      <scope/>
    </repository>
  </repositories>
  <componentDescriptors/>
</assembly>

集会

程序集定义了通常以归档格式(如 zip、tar 或 tar.gz)分发的文件集合,这些文件由项目生成。例如,一个项目可以生成一个 ZIP 程序集,该程序集在根目录中包含项目的 JAR 工件、在 lib/ 目录中的运行时依赖项以及用于启动独立应用程序的 shell 脚本。

元素 类型 描述
ID 细绳 设置此程序集的 id。这是来自该项目的特定文件程序集的符号名称。此外,除了用于通过将其值附加到生成的存档来明确命名组装包之外,该 id 在部署时用作工件的分类器。
格式/格式* 列表<字符串> (许多)指定程序集的格式。通过目标参数而不是在这里指定格式通常更好。例如,这允许不同的配置文件生成不同类型的档案。可以提供多种格式,Assembly Plugin 将为每种所需格式生成一个存档。部署项目时,还将部署所有指定的文件格式。通过在 <format> 子元素中提供以下值之一来指定格式:
  • "zip" - 创建 ZIP 文件格式
  • "tar" - 创建一个 TAR 格式
  • "tar.gz""tgz" - 创建一个 gzip'd TAR 格式
  • "tar.bz2""tbz2" - 创建 bzip'd TAR 格式
  • "tar.snappy" - 创建一个 snappy'd TAR 格式
  • "tar.xz""txz" - 创建一个 xz'd TAR 格式
  • "jar" - 创建一个 JAR 格式
  • "dir" - 创建一个展开的目录格式
  • "war" - 创建 WAR 格式
包括基本目录 布尔值 在最终存档中包含一个基本目录。例如,如果您正在创建一个名为“your-app”的程序集,将 includeBaseDirectory 设置为 true 将创建一个包含此基本目录的存档。如果此选项设置为 false,则创建的存档会将其内容解压缩到当前目录。
默认值为true
基本目录 细绳 设置生成的程序集存档的基本目录。如果未设置且 includeBaseDirectory == true,则将使用 ${project.build.finalName}。(从 2.2-beta-1 开始)
包括站点目录 布尔值 在最终存档中包含一个站点目录。项目的站点目录位置由 Assembly Plugin 的 siteDirectory 参数确定。
默认值为false
容器描述符处理器/容器描述符处理器* 列表<ContainerDescriptorHandlerConfig> (许多)从正常存档流中过滤各种容器描述符的组件集,因此可以聚合然后添加它们。
模块集/模块集* 列表<模块集> (许多)指定要包含在程序集中的模块文件。通过提供一个或多个 <moduleSet> 子元素来指定模块集。
文件集/文件* 列表<文件集> (许多)指定要包含在程序集中的文件组。通过提供一个或多个 <fileSet> 子元素来指定文件集。
文件/文件* 列表<文件项> (许多)指定要包含在程序集中的单个文件。通过提供一个或多个 <file> 子元素来指定文件。
依赖集/依赖集* 列表<依赖集> (许多)指定要包含在程序集中的依赖项。通过提供一个或多个 <dependencySet> 子元素来指定dependencySet。
存储库/存储库* 列表<存储库> (许多)指定要包含在程序集中的存储库文件。通过提供一个或多个 <repository> 子元素来指定存储库。
组件描述符/组件描述符* 列表<字符串> (许多)指定要包含在装配中的共享组件 xml 文件位置。指定的位置必须相对于描述符的基本位置。如果描述符是通过类路径中的 <descriptorRef/> 元素找到的,则它指定的任何组件也将在类路径中找到。如果通过 <descriptor/> 元素通过路径名找到它,则此处的值将被解释为相对于项目 basedir 的路径。当找到多个 componentDescriptor 时,将它们的内容合并。查看 描述符组件以获取更多信息。通过提供一个或多个 <componentDescriptor> 子元素来指定 componentDescriptor。

容器描述符处理程序

为进入程序集存档的文件配置过滤器,以启用各种类型的描述符片段的聚合,例如 components.xml、web.xml 等。

元素 类型 描述
处理程序名称 细绳 处理程序的 plexus 角色提示,用于从容器中查找。
配置 DOM 处理程序的配置选项。

模块集

一个 moduleSet 代表一个或多个项目 <module> 存在于项目的 pom.xml 中。这允许您包含属于项目的 <modules> 的源代码或二进制文件。

注意:从命令行使用 <moduleSets> 时,需要先通过包阶段:“mvn package assembly:assembly”。此错误/问题计划由 Maven 2.1 解决。

元素 类型 描述
使用所有反应器项目 布尔值 如果设置为 true,插件将包含当前反应器中的所有项目以在此 ModuleSet 中进行处理。这些将受包含/排除规则的约束。(自 2.2 起)
默认值为: false
包含子模块 布尔值 如果设置为 false,插件将在此 ModuleSet 中排除子模块的处理。否则,它将处理所有子模块,每个子模块都遵循包含/排除规则。(自 2.2-beta-1 起)
默认值为: true
包括/包括* 列表<字符串> (很多)当 <include> 子元素存在时,它们定义了一组要包含的项目坐标。如果不存在,则 <includes> 表示所有有效值。工件坐标可以以简单的 groupId:artifactId 形式给出,或者它们可以完全限定为 groupId:artifactId:type[:classifier]:version 形式。此外,可以使用通配符,如 *:maven-*
排除/排除* 列表<字符串> (很多)当 <exclude> 子元素存在时,它们定义了一组要排除的项目工件坐标。如果不存在,则 <excludes> 表示没有排除。工件坐标可以以简单的 groupId:artifactId 形式给出,或者它们可以完全限定为 groupId:artifactId:type[:classifier]:version 形式。此外,可以使用通配符,如 *:maven-*
来源 模块源 当它存在时,插件将在生成的程序集中包含来自该集合的包含模块的源文件。
二进制文件 模块二进制文件 当它存在时,插件将在生成的程序集中包含来自该集合的包含模块的二进制文件。

来源

包含用于将项目模块的源文件包含在程序集中的配置选项。

元素 类型 描述
使用默认排除 布尔值 在计算受此集合影响的文件时,是否应使用标准排除模式,例如匹配 CVS 和 Subversion 元数据文件的模式。为了向后兼容,默认值为 true。(自 2.2-beta-1 起)
默认值为: true
输出目录 细绳 设置相对于程序集根目录的根目录的输出目录。例如,“log”会将指定的文件放在日志目录中。
包括/包括* 列表<字符串> (很多)当 <include> 子元素存在时,它们定义了一组要包含的文件和目录。如果不存在,则 <includes> 表示所有有效值。
排除/排除* 列表<字符串> (很多)当 <exclude> 子元素存在时,它们定义了一组要排除的文件和目录。如果不存在,则 <excludes> 表示没有排除。
文件模式 细绳 与 UNIX 权限类似,设置所包含文件的文件模式。这是一个八进制值。格式:(User)(Group)(Other) 其中每个组件是 Read = 4、Write = 2 和 Execute = 1 的总和。例如,值 0644 转换为 User read-write、Group and Other read-only . 默认值为 0644 (更多关于 unix 风格的权限)
目录模式 细绳 与 UNIX 权限类似,设置所包含目录的目录模式。这是一个八进制值。格式:(User)(Group)(Other) 其中每个组件是 Read = 4、Write = 2 和 Execute = 1 的总和。例如,值 0755 转换为 User read-write、Group 和 Other 只读. 默认值为 0755。 (有关 unix 样式权限的更多信息)
文件集/文件* 列表<文件集> (许多)指定要包含在程序集中的每个包含模块中的哪些文件组。通过提供一个或多个 <fileSet> 子元素来指定文件集。(从 2.2-beta-1 开始)
包含模块目录 布尔值 指定模块的 finalName 是否应该添加到应用到它的任何文件集的 outputDirectory 值之前。(自 2.2-beta-1 起)
默认值为: true
排除子模块目录 布尔值 指定当前模块下的子模块目录是否应从应用于该模块的文件集中排除。如果您只想复制与此 ModuleSet 匹配的确切模块列表的源,而忽略(或单独处理)存在于当前目录下的目录中的模块,这可能很有用。(自 2.2-beta-1 起)
默认值为: true
输出目录映射 细绳 设置此程序集中包含的所有模块基目录的映射模式。注意:此字段仅在 includeModuleDirectory == true 时使用。默认为 2.2-beta-1 中模块的 ${artifactId},后续版本中为 ${module.artifactId}。(自 2.2-beta-1 起)
默认值为${module.artifactId}

文件集

文件集允许将文件组包含到程序集中。

元素 类型 描述
使用默认排除 布尔值 在计算受此集合影响的文件时,是否应使用标准排除模式,例如匹配 CVS 和 Subversion 元数据文件的模式。为了向后兼容,默认值为 true。(自 2.2-beta-1 起)
默认值为: true
输出目录 细绳 设置相对于程序集根目录的根目录的输出目录。例如,“log”会将指定的文件放在日志目录中。
包括/包括* 列表<字符串> (很多)当 <include> 子元素存在时,它们定义了一组要包含的文件和目录。如果不存在,则 <includes> 表示所有有效值。
排除/排除* 列表<字符串> (很多)当 <exclude> 子元素存在时,它们定义了一组要排除的文件和目录。如果不存在,则 <excludes> 表示没有排除。
文件模式 细绳 与 UNIX 权限类似,设置所包含文件的文件模式。这是一个八进制值。格式:(User)(Group)(Other) 其中每个组件是 Read = 4、Write = 2 和 Execute = 1 的总和。例如,值 0644 转换为 User read-write、Group and Other read-only . 默认值为 0644。 (有关 unix 样式权限的更多信息)
目录模式 细绳 与 UNIX 权限类似,设置所包含目录的目录模式。这是一个八进制值。格式:(User)(Group)(Other) 其中每个组件是 Read = 4、Write = 2 和 Execute = 1 的总和。例如,值 0755 转换为 User read-write、Group 和 Other 只读. 默认值为 0755。 (有关 unix 样式权限的更多信息)
目录 细绳 设置模块目录的绝对或相对位置。例如,“src/main/bin”将选择定义此依赖项的项目的此子目录。
行尾 细绳 设置此 fileSet 中文件的行尾。有效值:
  • "keep" - 保留所有行尾
  • "unix" - 使用 Unix 风格的行尾(即 "\n")
  • "lf" - 使用单行换行符结尾(即 "\n")
  • "dos" - 使用 DOS-/Windows 风格的行尾(即 "\r\n")
  • "windows" - 使用 DOS-/Windows 风格的行尾(即 "\r\n")
  • "crlf" - 使用回车、换行换行结束(即 "\r\n")
过滤 布尔值 是否使用构建配置中的属性在复制文件时过滤文件中的符号。(自 2.2-beta-1 起)
默认值为: false
nonFilteredFileExtensions/nonFilteredFileExtension* 列表<字符串> (许多)不应用过滤的附加文件扩展名(自 3.2.0 起)

二进制文件

包含用于将项目模块的二进制文件包含在程序集中的配置选项。

元素 类型 描述
输出目录 细绳 设置相对于程序集根目录的根目录的输出目录。例如,“log”会将指定的文件放在日志目录中,直接在存档的根目录下。
包括/包括* 列表<字符串> (很多)当 <include> 子元素存在时,它们定义了一组要包含的工件坐标。如果不存在,则 <includes> 表示所有有效值。工件坐标可以以简单的 groupId:artifactId 形式给出,或者它们可以完全限定为 groupId:artifactId:type[:classifier]:version 形式。此外,可以使用通配符,如 *:maven-*
排除/排除* 列表<字符串> (很多)当 <exclude> 子元素存在时,它们定义了一组要排除的依赖工件坐标。如果不存在,则 <excludes> 表示没有排除。工件坐标可以以简单的 groupId:artifactId 形式给出,或者它们可以完全限定为 groupId:artifactId:type[:classifier]:version 形式。此外,可以使用通配符,如 *:maven-*
文件模式 细绳 与 UNIX 权限类似,设置所包含文件的文件模式。这是一个八进制值。格式:(User)(Group)(Other) 其中每个组件是 Read = 4、Write = 2 和 Execute = 1 的总和。例如,值 0644 转换为 User read-write、Group and Other read-only . 默认值为 0644 (更多关于 unix 风格的权限)
目录模式 细绳 与 UNIX 权限类似,设置所包含目录的目录模式。这是一个八进制值。格式:(User)(Group)(Other) 其中每个组件是 Read = 4、Write = 2 和 Execute = 1 的总和。例如,值 0755 转换为 User read-write、Group 和 Other 只读. 默认值为 0755。 (有关 unix 样式权限的更多信息)
附件分类器 细绳 指定时,attachmentClassifier 将导致汇编器查看附加到模块的工件而不是主项目工件。如果它可以找到与指定分类器匹配的附加工件,它将使用它;否则,它会抛出异常。(从 2.2-beta-1 开始)
包含依赖项 布尔值 如果设置为 true,插件将包含此处包含的项目模块的直接和传递依赖项。否则,它将仅包含模块包。
默认值为true
依赖集/依赖集* 列表<依赖集> (许多)指定要包含在程序集中的模块的哪些依赖项。通过提供一个或多个 <dependencySet> 子元素来指定dependencySet。(从 2.2-beta-1 开始)
打开包装 布尔值 如果设置为 true,此属性会将所有模块包解压到指定的输出目录中。当设置为 false 时,模块包将作为档案(jar)包含在内。
默认值为true
解包选项 解包选项 允许从模块工件中解包的项目的包含和排除规范以及过滤选项。(从 2.2-beta-1 开始)
输出文件名映射 细绳 设置此程序集中包含的所有 NON-UNPACKED 依赖项的映射模式。(从 2.2-beta-2 开始;2.2-beta-1 使用 ${artifactId}-${version}${dashClassifier?}.${extension} 作为默认值)注意:如果 dependencySet 指定 unpack == true,则 outputFileNameMapping 将不被使用;在这些情况下,请使用 outputDirectory。有关 outputFileNameMapping 参数中可用条目的更多详细信息,请参阅插件常见问题解答。
默认值为${module.artifactId}-${module.version}${dashClassifier?}.${module.extension}

依赖集

dependencySet 允许在程序集中包含和排除项目依赖项。

元素 类型 描述
输出目录 细绳 设置相对于程序集根目录的根目录的输出目录。例如,“log”会将指定的文件放在日志目录中,直接在存档的根目录下。
包括/包括* 列表<字符串> (很多)当 <include> 子元素存在时,它们定义了一组要包含的工件坐标。如果不存在,则 <includes> 表示所有有效值。工件坐标可以以简单的 groupId:artifactId 形式给出,或者它们可以完全限定为 groupId:artifactId:type[:classifier]:version 形式。此外,可以使用通配符,如 *:maven-*
排除/排除* 列表<字符串> (很多)当 <exclude> 子元素存在时,它们定义了一组要排除的依赖工件坐标。如果不存在,则 <excludes> 表示没有排除。工件坐标可以以简单的 groupId:artifactId 形式给出,或者它们可以完全限定为 groupId:artifactId:type[:classifier]:version 形式。此外,可以使用通配符,如 *:maven-*
文件模式 细绳 与 UNIX 权限类似,设置所包含文件的文件模式。这是一个八进制值。格式:(User)(Group)(Other) 其中每个组件是 Read = 4、Write = 2 和 Execute = 1 的总和。例如,值 0644 转换为 User read-write、Group and Other read-only . 默认值为 0644 (更多关于 unix 风格的权限)
目录模式 细绳 与 UNIX 权限类似,设置所包含目录的目录模式。这是一个八进制值。格式:(User)(Group)(Other) 其中每个组件是 Read = 4、Write = 2 和 Execute = 1 的总和。例如,值 0755 转换为 User read-write、Group 和 Other 只读. 默认值为 0755。 (有关 unix 样式权限的更多信息)
使用严格过滤 布尔值 当指定为 true 时,任何在程序集创建期间不用于过滤实际工件的包含/排除模式都将导致构建失败并出现错误。这是为了突出显示过时的包含或排除,或者表示程序集描述符配置不正确。(自 2.2 起)
默认值为: false
输出文件名映射 细绳 设置此程序集中包含的所有依赖项的映射模式。(从 2.2-beta-2 开始;2.2-beta-1 使用 ${artifactId}-${version}${dashClassifier?}.${extension} 作为默认值)。有关 outputFileNameMapping 参数中可用条目的更多详细信息,请参阅插件常见问题解答。
默认值为${artifact.artifactId}-${artifact.version}${dashClassifier?}.${artifact.extension}
打开包装 布尔值 如果设置为 true,此属性会将所有依赖项解压缩到指定的输出目录中。当设置为 false 时,依赖项将被包含为档案(jar)。只能解压 jar、zip、tar.gz 和 tar.bz 档案。
默认值为false
解包选项 解包选项 允许从依赖项工件中解包的项目的包含和排除规范以及过滤选项。(从 2.2-beta-1 开始)
范围 细绳 设置此dependencySet 的依赖范围。
默认值为运行时
使用ProjectArtifact 布尔值 确定当前项目构建期间生成的工件是否应包含在此依赖集中。(自 2.2-beta-1 起)
默认值为: true
使用项目附件 布尔值 确定当前项目构建期间生成的附加工件是否应包含在此依赖项集中。(自 2.2-beta-1 起)
默认值为: false
使用TransitiveDependencies 布尔值 确定传递依赖是否将包含在当前依赖集的处理中。如果为 true,includes/excludes/useTransitiveFiltering 将应用于除了主要项目依赖项工件之外的传递依赖项工件。如果为 false,则 useTransitiveFiltering 没有意义,包含/排除只影响项目的直接依赖关系。默认情况下,此值为 true。(自 2.2-beta-1 起)
默认值为: true
使用传递过滤 布尔值 确定此依赖集中的包含/排除模式是否将应用于给定工件的传递路径。如果为真,并且当前工件是由与包含或排除模式匹配的另一个工件引入的传递依赖项,则当前工件也具有相同的包含/排除逻辑应用于它。默认情况下,此值为 false,以保持与 2.1 版的向后兼容性。这意味着包含/排除仅适用于当前工件,而不适用于引入它的可传递工件集。(自 2.2-beta-1 起)
默认值为: false

解包选项

指定用于包括/排除/过滤从档案中提取的项目的选项。(从 2.2-beta-1 开始)

元素 类型 描述
包括/包括* 列表<字符串> (许多)文件和/或目录模式集,用于在解包时从存档中包含匹配项。每个项目都指定为 <include>some/path</include> (自 2.2-beta-1 起)
排除/排除* 列表<字符串> (许多)文件和/或目录模式集,用于在解压缩时从存档中排除匹配项。每个项目都指定为 <exclude>some/path</exclude> (从 2.2-beta-1 开始)
过滤 布尔值 是否使用构建配置中的属性在从存档中解压缩文件时过滤文件中的符号。(自 2.2-beta-1 起)
默认值为: false
nonFilteredFileExtensions/nonFilteredFileExtension* 列表<字符串> (许多)不应用过滤的附加文件扩展名(自 3.2.0 起)
行尾 细绳 设置文件的行尾。(自 2.2 起)有效值:
  • "keep" - 保留所有行尾
  • "unix" - 使用 Unix 风格的行尾
  • "lf" - 使用单个换行符结束
  • "dos" - 使用 DOS 风格的行尾
  • "crlf" - 使用 Carraige-return, line-feed 行尾
使用默认排除 布尔值 在计算受此集合影响的文件时,是否应使用标准排除模式,例如匹配 CVS 和 Subversion 元数据文件的模式。为了向后兼容,默认值为 true。(自 2.2 起)
默认值为: true
编码 细绳 允许为支持指定编码的解压缩器指定解压缩档案时使用的编码。如果未指定,将使用归档器默认值。存档器默认值通常代表理智(现代)值。

文件

文件允许包含单个文件,并可选择更改文件集不支持的目标文件名。注意:需要来源或来源

元素 类型 描述
资源 细绳 设置要包含在程序集中的文件的模块目录的绝对或相对路径。
来源/来源* 列表<字符串> (许多)来自模块文件目录的绝对或相对路径集被组合并包含在程序集中。
输出目录 细绳 设置相对于程序集根目录的根目录的输出目录。例如,“log”会将指定的文件放在日志目录中。
目的地名称 细绳 在 outputDirectory 中设置目标文件名。默认值与源文件的名称相同。
文件模式 细绳 与 UNIX 权限类似,设置所包含文件的文件模式。这是一个八进制值。格式:(User)(Group)(Other) 其中每个组件是 Read = 4、Write = 2 和 Execute = 1 的总和。例如,值 0644 转换为 User read-write、Group and Other read-only . 默认值为 0644 (更多关于 unix 风格的权限)
行尾 细绳 设置此文件中文件的行尾。有效值为:
  • "keep" - 保留所有行尾
  • "unix" - 使用 Unix 风格的行尾(即 "\n")
  • "lf" - 使用单行换行符结尾(即 "\n")
  • "dos" - 使用 DOS-/Windows 风格的行尾(即 "\r\n")
  • "windows" - 使用 DOS-/Windows 风格的行尾(即 "\r\n")
  • "crlf" - 使用回车、换行换行结束(即 "\r\n")
过滤 布尔值 设置是否确定文件是否被过滤。
默认值为false

存储库

定义要包含在程序集中的 Maven 存储库。可包含在存储库中的工件是您项目的依赖项工件。创建的存储库包含所需的元数据条目,还包含 sha1 和 md5 校验和。这对于创建将部署到内部存储库的档案很有用。

注意:目前,仅允许来自中央存储库的工件。

元素 类型 描述
输出目录 细绳 设置相对于程序集根目录的根目录的输出目录。例如,“log”会将指定的文件放在日志目录中,直接在存档的根目录下。
包括/包括* 列表<字符串> (很多)当 <include> 子元素存在时,它们定义了一组要包含的工件坐标。如果不存在,则 <includes> 表示所有有效值。工件坐标可以以简单的 groupId:artifactId 形式给出,或者它们可以完全限定为 groupId:artifactId:type[:classifier]:version 形式。此外,可以使用通配符,如 *:maven-*
排除/排除* 列表<字符串> (很多)当 <exclude> 子元素存在时,它们定义了一组要排除的依赖工件坐标。如果不存在,则 <excludes> 表示没有排除。工件坐标可以以简单的 groupId:artifactId 形式给出,或者它们可以完全限定为 groupId:artifactId:type[:classifier]:version 形式。此外,可以使用通配符,如 *:maven-*
文件模式 细绳 与 UNIX 权限类似,设置所包含文件的文件模式。这是一个八进制值。格式:(User)(Group)(Other) 其中每个组件是 Read = 4、Write = 2 和 Execute = 1 的总和。例如,值 0644 转换为 User read-write、Group and Other read-only . 默认值为 0644 (更多关于 unix 风格的权限)
目录模式 细绳 与 UNIX 权限类似,设置所包含目录的目录模式。这是一个八进制值。格式:(User)(Group)(Other) 其中每个组件是 Read = 4、Write = 2 和 Execute = 1 的总和。例如,值 0755 转换为 User read-write、Group 和 Other 只读. 默认值为 0755。 (有关 unix 样式权限的更多信息)
包括元数据 布尔值 如果设置为 true,此属性将触发存储库元数据的创建,这将允许存储库用作功能性远程存储库。
默认值为false
groupVersionAlignments/ groupVersionAlignment * 列表<GroupVersionAlignment> (许多)指定您希望将一组工件与指定版本对齐。通过提供一个或多个 <groupVersionAlignment> 子元素来指定 groupVersionAlignment。
范围 细绳 指定此存储库中包含的工件的范围。(自 2.2-beta-1 起)
默认值为runtime

groupVersionAlignment

允许一组工件与指定版本对齐。

元素 类型 描述
ID 细绳 要对齐版本的工件的 groupId。
版本 细绳 您要将此组对齐到的版本。
排除/排除* 列表<字符串> (很多)当 <exclude> 子元素存在时,它们定义要排除的工件的 artifactId。如果不存在,则 <excludes> 表示没有排除。通过提供一个或多个 <exclude> 子元素来指定排除。