Во время работы над API webapp на Java мне нужно отправить версию приложения и дату сборки на внешний интерфейс. Но как это сделать?
Поскольку моя сборка API основана на maven, я подумал о том, чтобы получить версию из pom.xml
файл. Итак, давайте сделаем это так!
Решение! Почти…
Мне нужно вставить pom.xml
конфигурация файла, отвечающего за фильтрацию ресурсов:
src/main/resources true
И в app.properties
свойства, которые будут заменены во время сборки:
build.version=${pom.version} build.date=${timestamp}
После сборки мой app.properties
заполняется ожидаемыми данными:
Теперь я могу легко получить доступ к версии из POM и последней сборке в приложении Java!
И фин ^ Х ^ Х… еще одна проблема?
Все работает гладко, я могу получить версию из pom.xml
а также дата сборки. Но… значок теперь сломан! Что?!
Интерфейс развертывается вместе с бэкэндом (с использованием Функция статических файлов Javelin и файлы были загружены из папки “ресурсы”.
Оказывается, плагин фильтрации ресурсов обрабатывает фавикон.ico
((на самом деле все .иконки
файлы) и сломал их, сохранив неправильно. Поэтому мне нужно исключить эти файлы из фильтрации!
Окончательное решение
Окончательная конфигурация в pom.xml
выглядит так, как в приведенном ниже фрагменте.
Он обрабатывает все файлы в src/main/resources
, кроме всех файлов .ico
. Но я хочу .ico
в папке ресурсов – поэтому мне нужно добавить их, но без фильтрации (обработки).
src/main/resources true **/*.ico src/main/resources false **/*.ico
И это все – теперь все в порядке 😉
Оригинал: “https://dev.to/elwin013/how-to-put-pom-xml-version-and-build-date-in-properties-3i4b”