Рубрики
Без рубрики

Как поставить pom.xml версия и дата сборки в свойствах?

Во время работы над API webapp на Java мне нужно отправить версию приложения и дату сборки на внешний интерфейс… Помеченный java, maven, webapp.

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