Публикация POMs через Maven и вставка информации о версии сборки

Я строю проекты Maven через TeamCity / Git и пытаюсь вставить номера сборки TeamCity в pom.xml, который публикуется в моем репозитории после успешной сборки. К сожалению, я не могу определить, как опубликовать пом.xml с вставленными подстановками.

мой пом.xml содержит такую информацию, как:

<version>${build.number}</version>

где строить.номер предоставляется TeamCity. Вот и все!--12-->строит ok, и если (скажем) построить.число = 0.1, тогда развертывание является pom.xml в каталог с 0.1. Все хорошо.

однако, pom.развернутый xml-это pom.xml без заменой. т. е. Maven работает с pom.xml с соответствующими заменами, но развертывает начальную версию, и поэтому я получаю

<version>${build.number}</version>

в финале pom.xml. Как я могу получить номер версии сборки в pom.xml ?

2 ответов


Я бы не использовал этот подход, потому что он делает построение проекта, извлеченного из SCM, невозможным без предоставления build.number собственность. Я не думаю, что это хорошо. Может, я что-то упускаю.

на самом деле, я не понимаю, чего вы пытаетесь достичь точно (почему бы вам не написать номер сборки в манифесте, например). Но, согласно Maven Особенности на сайте Teamcity:

по умолчанию также сохраняет Номер сборки TeamCity в синхронизации с номером версии Maven (...).

разве это не может быть полезно? Есть еще одна тема об этом здесь.


попробуйте использовать generateReleasePoms свойство Maven-realease-plugin, возможно, это немного помогает.