2013-12-11 64 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}不能存在於不同的配置文件中,只需用空白定義它即可。我認爲這是一個明確的方法。 –

相關問題