【问题标题】:Propagating properties from parent pom.xml to grandchild将属性从父 pom.xml 传播到孙子
【发布时间】:2012-08-21 06:22:47
【问题描述】:

我有一个项目的结构是这样的

sw
 |-aim-pom.xml
 |-website
      |-pom.xml
      |-package
          |-pom.xml

我的目标 pom.xml 看起来像这样

<packaging>pom</packaging>

<properties>
   <product>aim</product>
</properties>

<modules>
   <module>website/package</module>
</modules>

基本上,我似乎无法在 website/package/pom.xml 中获取属性“产品”的值,我正在基于它执行一些条件逻辑。我在这里做错了什么?

提前致谢。

【问题讨论】:

    标签: java maven build


    【解决方案1】:

    在“package”模块中做一个“mvn help:effective-pom”来查看属性是否存在。如果不是,请确保该模块将目标 pom.xml(或其子之一)指定为其父 POM。请记住,在 Maven 中,聚合(模块通过反应器构建子模块)和继承(POM 有其他 POM 作为父级)是separate concepts

    【讨论】:

    • 该属性未列出。问题是,我无法更改 pom 的父级,因为还有其他构建风格遵循不同的层次结构。如果我更改 package/pom.xml 的父级,这将中断。我只是想在不破坏现有口味的情况下添加另一种口味。 pom.xml 可以有多个父级(即多重继承)吗?
    • 不,一个 POM 只能有一个父级。
    猜你喜欢
    • 2018-09-04
    • 2015-08-12
    • 2020-10-08
    • 1970-01-01
    • 1970-01-01
    • 2021-06-10
    • 2021-09-19
    • 2021-12-28
    • 1970-01-01
    相关资源
    最近更新 更多