【问题标题】:Maven parent version ${revision} expansion in cross project inheritance跨项目继承中的Maven父版本${revision}扩展
【发布时间】:2020-06-27 23:43:11
【问题描述】:

背景:
我正在使用 maven 3.5 并且有一个“主”聚合器项目,它有 4 个模块(同时使用聚合和继承)。
我还有 30 个独立的子项目,包括单模块和多模块,每个都继承自这 4 个模块之一。

问题:

我想在子项目的<parent><version> 标记中使用${revision},但我观察到的是maven 在扩展${revision}(到<properties><revision> 中指定的值)之前试图解析父级。这导致 maven 无法解析父项目,因为它正在寻找父项目的字面“${revision}”版本。

问题

  • ${revision} 确实不适用于跨项目继承吗?

  • 有什么解决办法吗? (同时尽量避免使用 maven-versions 插件)

注意:我可以在单个多模块项目中毫无问题地使用 ${revision} - 这不是问题。

【问题讨论】:

  • 那么 30 个子项目中的每一个都有 4 个模块之一作为父项目?
  • 是的,没错——它们是通过继承链接起来的
  • 所以我假设这四个模块都是POM项目。您是否在最顶层的 POM 中定义了属性 revision
  • 是的 pom 项目,最上面的修订。子项目中也设置了修订属性,因此它知道如何找到父项目(即在nexus/artifactoy中)

标签: maven continuous-integration maven-versions-plugin flatten-maven-plugin


【解决方案1】:

我刚刚遇到了同样的问题,但它适用于 maven 3.8.2。

【讨论】:

    猜你喜欢
    • 2012-05-21
    • 1970-01-01
    • 2011-03-01
    • 2017-02-22
    • 2020-12-28
    • 2016-04-11
    • 2010-11-03
    • 2014-01-24
    • 2011-12-23
    相关资源
    最近更新 更多