远程资源:进程

全名

org.apache.maven.plugins:maven-remote-resources-plugin:1.7.0:process

说明

拉下包含远程资源的resourceBundles并处理其中包含的资源。完成后,资源将注入当前(内存中)Maven 项目,使它们可用于流程资源阶段。

以“.vm”结尾的资源被视为 Velocity 模板。对于那些,“.vm”被剥离为最终的工件名称,并通过 Velocity 馈送以扩展属性、处理条件等......

不以“.vm”结尾的资源将“按原样”复制。

属性

  • 需要执行一个 Maven 项目。
  • 默认绑定到生命周期阶段generate-resources

必需参数

姓名 类型 自从 描述
<资源包> 列表 - 将被检索和处理的资源包,以 groupId:artifactId:version[:type[:classifier]]格式表示。

可选参数

姓名 类型 自从 描述
<附加资源目录> 文件 - 包含附加到生成资源的额外信息的目录。
默认值为${basedir}/src/main/appended-resources
<attachToMain> 布尔值 1.5 将资源作为资源目录附加到项目的主构建。
默认值为true
用户属性是attachToMain
<attachToTest> 布尔值 1.5 将资源作为资源目录附加到项目的测试版本。
默认值为true
用户属性是attachToTest
<编码> 细绳 - 过滤资源时要应用的字符编码方案。
默认值为${project.build.sourceEncoding}
用户属性是编码
<excludeArtifactIds> 细绳 1.0 工件名称的逗号分隔列表也排除在外。
用户属性是excludeArtifactIds
<excludeGroupIds> 细绳 1.0 要排除的 GroupId 名称的逗号分隔列表。
用户属性是excludeGroupIds
<排除范围> 细绳 1.0 要排除的范围。空字符串表示没有范围(默认)。
用户属性是excludeScope
<excludeTransitive> 布尔值 1.0 如果我们应该排除传递依赖
默认值是false
用户属性是excludeTransitive
<过滤器分隔符> 列表 1.1

在本地资源覆盖远程资源包中的资源的情况下,如果资源集指定了该资源,则应过滤该资源。在这些情况下,此参数定义可过滤表达式的分隔符列表。这些定界符以“beginToken*endToken”的形式指定。如果没有给出“*”,则假定开始和结束的分隔符相同。

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

<delimiters>
  <delimiter>${*}</delimiter>
  <delimiter>@</delimiter>
</delimiters>
由于'@'分隔符在两端是相同的,我们不需要指定'@*@'(尽管我们可以)。
<includeArtifactIds> 细绳 1.0 要包含的工件名称的逗号分隔列表。
用户属性是includeArtifactIds
<includeGroupIds> 细绳 1.0 要包含的 GroupId 的逗号分隔列表。
用户属性是includeGroupIds
<包括项目属性> 布尔值 1.2 过滤资源时是否包含项目中定义的属性。
默认值为false
<包括范围> 细绳 1.0 要包括的范围。空字符串表示所有范围(默认为“运行时”)。
默认值为运行时
用户属性是includeScope
<输出目录> 文件 - 处理后的资源将被放置到打包的目录。
默认值为${project.build.directory}/maven-shared-archive-resources
<输出时间戳> 细绳 - 可重现输出存档条目的时间戳,格式为 ISO 8601 yyyy-MM-dd'T'HH:mm:ssXXX或表示自纪元以来秒数的 int(如SOURCE_DATE_EPOCH)。
默认值为${project.build.outputTimestamp}
<属性> 地图 - 要传递给 Velocity 的其他属性。自动添加了几个属性:
  • project - 当前的 MavenProject
  • projects - 依赖项目列表
  • projectsSortedByOrganization - 按组织排序的依赖项目列表
  • projectTimespan - 当前项目的时间跨度(需要 pom 中的 inceptionYear)
  • locator - 可用于检索其他资源的 ResourceManager
有关 MavenProject 上的属性的信息,请参阅MavenProject 的 javadoc
<解析范围> 细绳[] 1.5 解析项目依赖项时,指定要包含的范围。如果没有设置排除范围,则默认值与“includeScope”相同。否则,它默认为“测试”以获取所有依赖项,因此排除过滤器可以过滤掉不需要的内容。
<runOnlyAtExecutionRoot> 布尔值 1.1 如果为 true,则仅在多模块构建的根项目目录中生成资源。来自所有模块的依赖关系将在资源生成发生之前聚合。
默认值为false
<跳过> 布尔值 1.0-alpha-5 跳过远程资源处理
默认值为false
用户属性是remoteresources.skip
<补充模型工件> 列表 1.1 查找补充模型时添加到搜索路径的工件列表,以 groupId:artifactId:version[:type[:classifier]]格式表示。
<补充模型> 细绳[] 1.0-alpha-5 补充模型数据。在处理具有不完整 POM 元数据的工件时很有用。默认情况下,此 Mojo 在文件“ ${appendedResourcesDirectory}/supplemental-models.xml ”中查找补充模型数据。
<useDefaultFilterDelimiters> 布尔值 1.1 (无描述)
默认值为true
<velocityFilterInMemoryThreshold> 整数 1.6 当速度变换的结果适合内存时,它会与磁盘上的实际内容进行比较,以消除不必要的目标文件覆盖。这缩短了构建时间,因为进一步的构建步骤通常依赖于修改日期。
默认值为5242880

参数详情

<附加资源目录>

包含附加到生成资源的额外信息的目录。
  • 类型java.io.File
  • 要求
  • 默认${basedir}/src/main/appended-resources

<attachToMain>

将资源作为资源目录附加到项目的主构建。
  • 类型布尔值
  • : 1.5
  • 要求
  • 用户属性attachToMain
  • 默认值

<attachToTest>

将资源作为资源目录附加到项目的测试版本。
  • 类型布尔值
  • : 1.5
  • 要求
  • 用户属性attachToTest
  • 默认值

<编码>

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

<excludeArtifactIds>

工件名称的逗号分隔列表也排除在外。
  • 类型java.lang.String
  • : 1.0
  • 要求
  • 用户属性excludeArtifactIds

<excludeGroupIds>

要排除的 GroupId 名称的逗号分隔列表。
  • 类型java.lang.String
  • : 1.0
  • 要求
  • 用户属性excludeGroupIds

<排除范围>

要排除的范围。空字符串表示没有范围(默认)。
  • 类型java.lang.String
  • : 1.0
  • 要求
  • 用户属性excludeScope

<excludeTransitive>

如果我们应该排除传递依赖
  • 类型布尔值
  • : 1.0
  • 要求
  • 用户属性excludeTransitive
  • 默认值

<过滤器分隔符>

在本地资源覆盖远程资源包中的资源的情况下,如果资源集指定了该资源,则应过滤该资源。在这些情况下,此参数定义可过滤表达式的分隔符列表。这些定界符以“beginToken*endToken”的形式指定。如果没有给出“*”,则假定开始和结束的分隔符相同。

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

<delimiters>
  <delimiter>${*}</delimiter>
  <delimiter>@</delimiter>
</delimiters>
由于'@'分隔符在两端是相同的,我们不需要指定'@*@'(尽管我们可以)。
  • 类型java.util.List
  • : 1.1
  • 要求

<includeArtifactIds>

要包含的工件名称的逗号分隔列表。
  • 类型java.lang.String
  • : 1.0
  • 要求
  • 用户属性includeArtifactIds

<includeGroupIds>

要包含的 GroupId 的逗号分隔列表。
  • 类型java.lang.String
  • : 1.0
  • 要求
  • 用户属性includeGroupIds

<包括项目属性>

过滤资源时是否包含项目中定义的属性。
  • 类型布尔值
  • : 1.2
  • 要求
  • 默认值

<包括范围>

要包括的范围。空字符串表示所有范围(默认为“运行时”)。
  • 类型java.lang.String
  • : 1.0
  • 要求
  • 用户属性includeScope
  • 默认值运行时

<输出目录>

处理后的资源将被放置到打包的目录。
  • 类型java.io.File
  • 要求
  • 默认值${project.build.directory}/maven-shared-archive-resources

<输出时间戳>

可重现输出存档条目的时间戳,格式为 ISO 8601 yyyy-MM-dd'T'HH:mm:ssXXX或表示自纪元以来秒数的 int(如SOURCE_DATE_EPOCH)。
  • 类型java.lang.String
  • 要求
  • 默认值${project.build.outputTimestamp}

<属性>

要传递给 Velocity 的其他属性。自动添加了几个属性:
  • project - 当前的 MavenProject
  • projects - 依赖项目列表
  • projectsSortedByOrganization - 按组织排序的依赖项目列表
  • projectTimespan - 当前项目的时间跨度(需要 pom 中的 inceptionYear)
  • locator - 可用于检索其他资源的 ResourceManager
有关 MavenProject 上的属性的信息,请参阅MavenProject 的 javadoc
  • 类型java.util.Map
  • 要求

<解析范围>

解析项目依赖项时,指定要包含的范围。如果没有设置排除范围,则默认值与“includeScope”相同。否则,它默认为“测试”以获取所有依赖项,因此排除过滤器可以过滤掉不需要的内容。
  • 类型java.lang.String[]
  • : 1.5
  • 要求

<资源包>

将被检索和处理的资源包,以 groupId:artifactId:version[:type[:classifier]]格式表示。
  • 类型java.util.List
  • 要求

<runOnlyAtExecutionRoot>

如果为 true,则仅在多模块构建的根项目目录中生成资源。来自所有模块的依赖关系将在资源生成发生之前聚合。
  • 类型布尔值
  • : 1.1
  • 要求
  • 默认值

<跳过>

跳过远程资源处理
  • 类型布尔值
  • 1.0-alpha-5
  • 要求
  • 用户属性remoteresources.skip
  • 默认值

<补充模型工件>

查找补充模型时添加到搜索路径的工件列表,以 groupId:artifactId:version[:type[:classifier]]格式表示。
  • 类型java.util.List
  • : 1.1
  • 要求

<补充模型>

补充模型数据。在处理具有不完整 POM 元数据的工件时很有用。默认情况下,此 Mojo 在文件“ ${appendedResourcesDirectory}/supplemental-models.xml ”中查找补充模型数据。
  • 类型java.lang.String[]
  • 1.0-alpha-5
  • 要求

<useDefaultFilterDelimiters>

(没有说明)
  • 类型布尔值
  • : 1.1
  • 要求
  • 默认值

<velocityFilterInMemoryThreshold>

当速度变换的结果适合内存时,它会与磁盘上的实际内容进行比较,以消除不必要的目标文件覆盖。这缩短了构建时间,因为进一步的构建步骤通常依赖于修改日期。
  • 类型整数
  • : 1.6
  • 要求
  • 默认值5242880