Во время работы над 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”