是否可以“扩展”子模块中的配置文件?

时间:2012-07-10 05:43:41

标签: java maven

说我有一个父pom A,其中配置文件win32和win64由os激活:

<profile>
    <id>windows32</id>
    <activation>
        <os>
            <family>windows</family>
            <arch>x86</arch>
        </os>
    </activation>
    <properties>
        <envClassifier>win-x32</envClassifier>
    </properties>
</profile>
<profile>
    <id>windows64</id>
    <activation>
        <os>
            <family>windows</family>
            <arch>amd64</arch>
        </os>
    </activation>
    <properties>
        <envClassifier>win-x64</envClassifier>
    </properties>
</profile>

这些配置文件定义了env。变量如$ {envClassifier}等。 假设父模块有一个子模块B,它想在win64上定义一些额外的东西IN ADDITION:

<profile>
    <id>windows64</id>
    <properties>
        <jreName>jre6u27.zip</jreName>
    </properties>
</profile>

我可以以某种方式从父级扩展win64配置文件,还是我注定要将其与其激活部分及其所有内容一起复制粘贴?

2 个答案:

答案 0 :(得分:6)

我刚刚使用mvn help:effective-pom检查了这个案例。

如果您为子配置文件指定<activation>部分的方式与父配置文件相同,则将合并这两个配置文件的属性。

答案 1 :(得分:3)

显然它根本不可能。 我在这里找到了一个很好的解释 - http://www.dashbay.com/2011/03/maven-profile-inheritance/