Maven 属性列表
Maven Properties List
尽管有标题,但我并不是在寻找与 Maven 一起使用的属性列表。
我希望设置一个包含项目列表的配置文件,在本例中为服务器列表。本地开发配置文件将只有一个服务器,而对于测试,可能有一个、两个或更多。
我怎样才能写出一个基本 'the same thing' 的项目列表?
<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.
问题是 Maven (AFAIK) 中的属性不允许重复值,因为每个 属性 都可以仅通过名称访问:
${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>
尽管有标题,但我并不是在寻找与 Maven 一起使用的属性列表。
我希望设置一个包含项目列表的配置文件,在本例中为服务器列表。本地开发配置文件将只有一个服务器,而对于测试,可能有一个、两个或更多。
我怎样才能写出一个基本 'the same thing' 的项目列表?
<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.
问题是 Maven (AFAIK) 中的属性不允许重复值,因为每个 属性 都可以仅通过名称访问:
${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>