Maven:在属性名称中使用属性值...即$ {env。$ {some.prop}}

时间:2014-04-25 11:41:15

标签: java maven maven-2 maven-3

在引用属性时,是否可以使用其他属性的值来指定属性名称?

示例:
OS环境变量:
- WAS-USR-V1_HOME = a_path
- WAS-USR-V2_HOME = another_path

在我的构建中,我想使用其中一个,让用户通过传递名为" suffix"的属性来选择V1或V2。 (例如-Dsuffix=V1)。

我怎样才能在POM中做到这一点? 我想设置一个属性,如:
<my.prop>${env.WAS-${env.USERNAME}-${suffix}_HOME}</my.prop>

必须进行中间评估:${env.WAS-USR-V1_HOME} ...
最后,${my.prop}将评估为a_path

感谢&#39; s!

史蒂夫

精确度:
- 用户不知道env变量名称。他只知道&#34;后缀&#34;。
- 变量名称的另一部分是&#34;用户名&#34;由OS设定 - &#34; my.prop&#34;属性需要是通用的(无论用户名或后缀如何)

1 个答案:

答案 0 :(得分:0)

这需要递归解析属性,而afaik则不起作用。