Maven intherit对特定死刑有误

问题描述

我有一个与maven强制执行器插件一起使用的multimudule Maven项目。我设置了多个执行,检查构建的不同阶段的情况。

项目的结构使得父模块的版本继承到子模块。父模块也定义了一个父模块,我们称其为祖父母。

其中一种执行是检查父pom是否为快照版本,否则为快照版本。

问题是我无法建立子模块的快照,因为那将意味着父模块也是快照,从而使上述强制规则失效。

我需要为父模块保留执行器规则,但在子模块上仅跳过此规则,而仅跳过此规则。

我想做的是这个

在grandparent.pom中,我已经声明了执行器规则,如下所示:

...
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
  <execution>
    <id>only-on-parent</id>
    <rules>...</rules>
  </execution>
  <execution>
    <id>all-modules</id>
    <rules>...</rules>
  </execution>
</execution>
...

在parent.pom中:

...
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
  <execution>
    <id>only-on-parent</id>
    <inherited>false</inherited>
  </execution>
</execution>
...

这什么都不做,该规则仍然适用于子模块。 如果我在parent.pom上这样做:

...
<artifactId>maven-enforcer-plugin</artifactId>
<inherited>false</inherited>
...

所有规则均未应用,all-modules中声明的规则均未应用。

有没有解决该问题的技巧,而不必手动跳过所有子级上的执行?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)