2016-09-16 3 views
1

Несмотря на название, я не ищу список свойств для использования с Maven.Maven Properties List

Я хочу настроить профиль, содержащий список элементов, в данном случае список серверов. У локального профиля профиля будет только один сервер, тогда как для тестирования может быть один, два или более.

Как написать список предметов, которые в основном «одно и то же»?

<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 (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> 
+0

После расследования я подозреваемый как много Спасибо за подтверждение. –

+0

Добро пожаловать. –

Смежные вопросы