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

Maven – Динамические ресурсы

Наши проекты в Java, как правило, есть несколько файлов конфигурации проекта и окружающей среды d… Помеченный как java, maven, сборка, ресурсы.

Наши проекты в Java, как правило, имеют various файлы конфигурации проекта и окружающей среды, как например в конфигурации JPA (persistence.xml), настройки сообщений JSF или конфигурации JSF (faces-config.xml).

Эссес аркивос сан-ос-рекурсос-ду-носсо проект и геральменте финам на пассате главная/ресурсы подразделение тест/ресурсы . Обычно у нас есть один вариант-файл для каждой среды, которые являются, или нет, хранятся вместе с нашим исходный код в хранилище (большой недостаток безопасности, потому что мы уезжаем данных доступа к производственной среде в поле зрения) или даже скопированы или изменены вручную после сборки: s.

Maven есть плагин под названием Resources, который несет ответственность за копии из ресурсов нашего проекта. По умолчанию, плагин просто копирует файлы из нашей папки src (main или test) в папку сборки проекта (target). Тем не менее, плагин Resources можете использовать другой плагин Maven для выполнения обработки файлов, позволяя, таким образом, оставить некоторые его части динамики.

Этот плагин Maven-Filtering, он позволяет нам определить, в файлах ресурсов переменные, которые могут быть заменены на момент сборки нашего проекта. Например, в нашем файле конфигурации JPA мы можем использовать переменную, которая содержит имя Источника данных, который мы будем использовать, и для каждой среды, мы можем subsituir этой переменной соответствующее значение. Это интересно если у вас есть конвейер CI (Continuous Integration), так как на нем вы можете задать имя Источника данных Тестирования с помощью сценария сборки, тестирования.

Абайшо, переходи к примеру, делай persistence.xml в чем разница ума вариавель datasource.name que sera utilizada динамический механизм для работы со сценарием сборки.



  
    ${datasource.name}
    
      
    
  

Como poden ver, uma variável é definida entre ${} , ассимилировать como как язык выражения для JSP.

Парати веро Фильтрация durante o сборка, точная настройка без носо POM.xml сечао строит абайшо.


  
    
      src/main/resources/META-INF
      true
    
  

В течение ресурсы, мы можем определить файл или папку с файлами, которые будут обработаны и также включена в Фильтрации через tag filtering.

Значения этих переменных могут быть определены несколькими способами:

Файлы properties (свойства) в формате: <переменная>=<значение> Значения, определенные в разделе / наше ПОМ.xml Свойства, установленные в разделах наше ПОМ.xml Свойства, проведенных на выполнение Maven (флаг -D) в формате <переменная>=<значение> Ниже приведен пример сценария, который делает сборки нашего проекта, передавая Data Source (могут быть размещены в конвейере нашего Дженкинс).

mvn clean install -Ddatasource.name=java:/ds/BancoDeTestes выделено жирным шрифтом, ниже нашей переменной, определенной в наше упорство.xml, который после сборки будет иметь следующий результат:



 
   java:/ds/BancoDeTestes
   
     
   
 

Благодаря этому, мы можем увидеть, насколько мощным Maven может быть и как он может облегчить нашу жизнь. Вместо того, надо всегда иметь, что изменить в build формирования или иметь несколько файлов для каждой среды, мы можем просто передать его в качестве аргумента в сборки или файлов с нашими ценностями.

Примеры вероятных пользы было бы в buid проекта, где мы могли бы установить динамически IP-адрес или имя наш контейнер Docker, который содержит базу данных для тестирования, мы можем установить в IP в файле standalone.xml нашей Wildfly или же в сценарий, который добавляет наш источник данных на нем.

Оригинал: “https://dev.to/wesleyegberto/maven-resources-dinamicos-mn3”