2013-12-11 67 views
0

我对maven很陌生,当我运行maven时我遇到了这个问题,我想拥有1值的属性,有时另一个值。 我试着做以下,但仍缺少的东西:如何根据配置文件设置属性值

<profiles> 
<profile> 
    <id>production</id> 
    <activation> 
     <property> 
      <name>com.sencha.cmd.dir</name> 
      <value> 
       ${env.SENCHA_PATH}\senchaCmd-${com.sencha.cmd.version}\Sencha\Cmd\${com.sencha.cmd.version} 
      </value> 
     </property> 
    </activation> 
</profile> 
</profiles> 

<properties> 
<com.sencha.cmd.dir> ${env.SENCHA_PATH}\senchaCmd- ${com.sencha.cmd.version}\Sencha\Cmd\${com.sencha.cmd.version}</com.sencha.cmd.dir> 

我的问题是如何根据配置文件的可用性更换物业com.sencha.cmd.dir的价值?

希望这是非常明显的

回答

1

这真的很简单

<profiles> 
<profile> 
    <id>profile 1</id> 
    <activation> 
    ... 
    </activation> 
    <properties> 
    <my.property> xxx </my.property> 
    </properties> 
</profile> 
<profile> 
    <id>profile 2</id> 
    <activation> 
    ... 
    </activation> 
    <properties> 
    <my.property> yyy </my.property> 
    </properties> 
</profile> 
</profiles> 

,然后你可以在外面用你my.properties,即使在另一个特性

<properties> 
<my.next.property> abc ${my.property} def </my.next.property> 
</properties> 
+0

Pieret。我想我没有解释我想做什么。所以根据你的例子有可能做这样的事情: $ {my.property}或 这意味着,如果我没有我的.property定义可以使用my.next.property? – Nir

+0

如果$ {my.property}不能存在于不同的配置文件中,只需用空白定义它即可。我认为这是一个明确的方法。 –

相关问题