2011-10-20 250 views
11

有没有办法从父pom继承属性。 例如:我想用父pom中的值替换子pom中的$ {publish.dir}。从父pom继承属性

父POM:

<properties> <publish.dir>/tmp/publish</publish.dir> </properties>

子POM:

<outputDirectory>${publish.dir}/dev</outputDirectory>

回答

20

没有办法以继承父POM属性。在父级中定义的属性在子级中可见。

但是, outputDirectory是POM数据模型的相对特殊部分。继承的属性不适用于此。对不起,我花了那么长时间才开启了我的大脑的适当部分。我认为你可能运气不好,或者可能需要指定输出到特定的插件。

+1

我也认为它应该工作。我试图做的是解压$ {publish.dir}中的文件,其值应来自父pom。但是,相反,maven正在使用名称'$ {publish.dir}'在当前文件夹中创建一个新目录。 mvn help:effective-pom | grep publish也没有返回任何东西。 – user1006139

+0

你确定父母*是父母吗?它是否在元素中正确列出?相对路径是否正确? – bmargulies

+0

**儿童POM:**'有机 1.0-快照'**父POM:**' 4.0.0有机 1.0- SNAPSHOT' – user1006139