远程资源:进程

全名:

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