Загрузить номер версии Maven POM в проект Java - PullRequest
6 голосов
/ 10 марта 2011

Я хочу добавить нумерацию версий в свое Java-приложение (в данном случае портлет Vaadin), в котором номер версии отображается в справке.

Дело в том, что этот номер версии определен в POM-файле моего Maven (например, 1.1.5-SNAPSHOT), и именно его мы собираемся изменить (например, при выпуске).

Есть идеи, как вытащить его из POM и в (например, String) в Java?(Если это вообще возможно)

Спасибо

Ответы [ 4 ]

8 голосов
/ 10 марта 2011

Используйте отфильтрованный файл свойств, содержащий строку

version=${project.version}

и загрузите этот файл свойств из classpath в вашу Java-программу.

4 голосов
/ 10 марта 2011

Есть много решений этой проблемы

Но я бы определенно предпочел первое, так как доступ к MANIFEST.MF довольно прост в Java

2 голосов
/ 10 марта 2011

Или вы можете прочитать maven pom.properties из classpath.Свойства pom.properties расположены по адресу:
META-INF / maven / groupid / artifactId / pom.properties

2 голосов
/ 10 марта 2011

Версия в POM доступна как свойство "project.version".Выражается как $ {project.version}

Так что вы должны иметь возможность использовать его с фильтрацией ресурсов:

http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html

Самый хороший подход, вероятно, будет фильтроватьи замените) файл свойств или дескриптор развертывания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...