2013-04-22 74 views
1

我在.m2/settings.xml定義這樣的服務器:讀行家服務器屬性爲屬性

<server> 
    <id>foo</id> 
    <username>bar</username> 
    <password>baz</password> 
</server> 

是否有可能使用類似${servers.foo.username}訪問這些值的屬性?

+1

它可能像* $ {settings.servres.foo.username} *但我不會推薦它。問題是爲什麼你需要它?也許你可以詳細說明一點,以便更好地瞭解你想達到的目標? – khmarbaise 2013-04-22 14:17:10

+0

'$ {settings.servers.foo.username}'似乎不起作用。我使用jboss-as-maven-plugin將數據源添加到正在運行的JBoss。我想從'' – adrianboimvaser 2013-04-22 14:20:43

+0

取用戶名和密碼如果密碼是加密的呢?看[這裏](http://maven.apache.org/guides/mini/guide-encryption.html)。 – 2013-04-22 14:51:46

回答

0

您可以通過使用

  • $ {settings.servers [0] .username}
  • $ {settings.servers [0]。密碼}
  • $ {settings.servers [訪問它們0] .id}

這意味着您的結果必須是您無法保證的定義的訂單。 在測試等情況下,我會建議使用屬性等,而不是settings.xml部分。您提供的補充信息聽起來像是一個集成測試。除了已經提到的問題,如加密密碼等

+0

'$ {settings.servers [0] .username}'似乎也不起作用。你能把我指向你的文檔來源嗎? – adrianboimvaser 2013-04-22 14:48:50

+0

如果這不起作用,您還有其他問題(插件參數和注入參數的常見行爲)。您是否嘗試打印出您正在使用的信息?此外,問題是:**看起來沒有工作**完全意味着什麼?錯誤信息 ? – khmarbaise 2013-04-22 15:01:47

+0

**「似乎不起作用」**表示如果我在pom中的任何地方使用'$ {settings.servers [0] .username}',我只會得到* $ {settings.servers [0] .username} *,而不是* bar *。 – adrianboimvaser 2013-04-22 16:06:28