2016-09-16 99 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

不客气。 –