2016-09-16 45 views
1

儘管標題,我沒有尋找與Maven一起使用的屬性列表。Maven屬性列表

我希望設置一個包含項目列表的配置文件,這裏是一個服務器列表。本地開發人員配置文件只有一臺服務器,而測試時可能有一臺,兩臺或更多。

我該怎麼寫一個基本上'同樣的東西'的項目列表?

<profile> 
    <id>DEV_COMMON</id> 
    <properties> 
     <kafka.config.retries>3</kafka.config.retries> 
     <kafka.brokers> <!-- the following causes Maven error --> 
      <server> 
       <host>hostname1</host> 
       <port>1234</port> 
      </server> 
      <server> 
       <host>secondhostname</host> 
       <port>5678</port> 
      </server> 
      <server> 
       <host>hostnameNumber3</host> 
       <port>9101</port> 
      </server> 
     </kafka.brokers> 
    </properties> 
</profile> 

以上簡檔產生錯誤:

TEXT must be immediately followed by END_TAG and not START_TAG 

援助不勝感激。 KA。

回答

1

的問題是,在Maven的(據我所知)的屬性不允許值的重複性,因爲每個屬性可以僅僅通過名稱來訪問:

${test.server}

...所以你不會能夠訪問除第一個之外的其他屬性。這就是爲什麼Maven甚至不允許properties節點內的子節點。

由於不幸中之大幸,我願意給這些屬性的唯一名稱:

<properties> 
    <kafka.broker.server1.host>hostname1</kafka.broker.server1.host> 
    <kafka.broker.server1.port>1234</kafka.broker.server1.port> 
    <kafka.broker.server2.host>hostname2</kafka.broker.server2.host> 
    <kafka.broker.server2.port>1235</kafka.broker.server2.port> 
</properties> 
+0

調查後,我懷疑很多 感謝您的確認。 –

+0

不客氣。 –