2015-06-22 2 views
2

Моя фирма пытается найти способ поместить некоторый тип файла версии или версии на EAR и WAR с использованием Maven.Ввод файла версии в EAR или WAR с использованием Maven

Что нам нужно, как мы делаем Maven сборки взять номер версии из файла и как-то поместить его в EAR или WAR или есть лучший способ ..

Я хотел бы услышать форму другие о том, как вы это делаете.

Мы используем Maven, Git, Bamboo и другие. так что если каким-то образом Git может поставить версию или номер зафиксированной в файл, который затем можно использовать Maven было бы здорово

ответ

3

Вы по крайней мере вариантов:

Настройка манифеста записи.

Плагин войны позволяет вам добавить некоторую информацию в файл манифеста. Некоторые примеры на странице использования: https://maven.apache.org/plugins/maven-war-plugin/examples/war-manifest-guide.html (примечание: сегодня его $ {project.version}, а не $ {} pom.version Плагин ухо имеет опции для указания файла манифеста или установить некоторые параметры среды:. https://maven.apache.org/plugins/maven-ear-plugin/examples/specifying-env-entries-for-the-generated-application-xml.html

Добавьте значения в файле свойств и использовать фильтры для замены заполнителей

Создание простого текста или свойств файла в SRC/основные/ресурсов, что-то вроде application.properties:.

app.version = $ {project.version} app.description = $ {project.description}

, а затем включить фильтрацию ресурсов: http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html для этого файла. Вы также можете получить доступ к переменным окружения: $ {env.variable_name} и использовать номер сборки из бамбука (переданный как параметр в сборку).

Плагины, такие как http://www.mojohaus.org/buildnumber-maven-plugin/, также позволяют добавить номер версии SVN или Git Sha1 Commit Hash.

Если вы используете плагин выпуска, maven добавляет некоторую информацию самостоятельно в папку maven выпущенной банки или войны (внутри папки meta-inf).

+0

Если вы заинтересованы в чтении такой информации о версии с помощью URL-адреса, например, на странице http: // example.com/ versioninfo.txt, вы можете отфильтровать шаблон 'versioninfo.txt' и [включить файл версии в войну] (http://www.taringamberini.com/en/howto/java/2015/including-release-info-into-war/) с помощью 'maven-war-plugin'. – taringamberini

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