Java maven enforcer插件忽略<;修订>;来自maven ci的属性

Java maven enforcer插件忽略<;修订>;来自maven ci的属性,java,maven,continuous-integration,pom.xml,parent-pom,Java,Maven,Continuous Integration,Pom.xml,Parent Pom,我正在使用样式从属性设置pom版本。在我详细介绍正在发生的事情之前,让我告诉您我的pom和项目是如何构建的 项目结构 base-project-pom |_ reactor-parent |_ service |_ service-tests 基本项目pom有一个名为maven enforcer plugin的插件,该插件在验证阶段执行 在反应堆父级pom(pom包装)中,我使用以下代码设置版本- <groupid>...</groupid> <ar

我正在使用样式从属性设置pom版本。在我详细介绍正在发生的事情之前,让我告诉您我的pom和项目是如何构建的

项目结构

base-project-pom 
|_ reactor-parent
   |_ service
   |_ service-tests
基本项目pom有一个名为maven enforcer plugin的插件,该插件在验证阶段执行

在反应堆父级pom(pom包装)中,我使用以下代码设置版本-

<groupid>...</groupid>
<artifactid>...</artifactid>
<version>${revision}</version>

<properties>
  <revision>0.0.1-SNAPSHOT</revision>
</properties>
为了解决这个问题,我尝试了以下不同的解决方案-

1。使用maven Flatte插件-

我已经尝试使用这个插件来扁平化pom。它不起作用。在我看来,这个问题可能与执行这两个插件(flatten和enforcer)的阶段有关

2。在不同阶段执行执行者

展平在流程资源阶段执行,而强制器在验证阶段执行。我尝试在验证阶段和安装阶段执行enforcer。它不起作用

3。叶项目中的修订属性标记。

我已尝试在leaf项目中设置属性标记以进行修订。这也没用

任何指示或方向都是值得赞赏的

更新(2018年5月29日)-截至今天,我发现这是maven enforcer插件中已知的bug


首先,您使用哪个Maven版本?第二,你使用哪个版本的maven enforcer插件?你试过注释maven enforcer插件并检查构建是否有效吗?我使用的是maven版本3.5.2和maven enforcer插件版本3.0.0-M1。是的,如果我跳过maven enforcer检查,构建工作正常。其他详细信息-正是此规则失败,无法确定${revision}代表什么-
规则6:org.apache.maven.plugins.enforcer.RequirePluginVersions
Failure to find ....service:reactor-parent:pom:${revision} in http://... was cached in the local repository

  com.example.service:reactor-parent:pom:${revision}