Перейти к основному содержимому

Плагин ресурсов Maven

· 2 мин. чтения

1. Обзор

В этом руководстве описывается подключаемый модуль ресурсов , один из основных подключаемых модулей инструмента сборки Maven.

Обзор других основных плагинов см. в этой статье .

2. Цели плагина

Плагин ресурсов копирует файлы из входных каталогов ресурсов в выходной каталог. Этот плагин имеет три цели, которые отличаются только тем, как указываются ресурсы и выходные каталоги.

Три цели этого плагина:

  • ресурсы копировать ресурсы, которые являются частью основного исходного кода, в основной выходной каталог
  • testResources скопировать ресурсы, которые являются частью исходного кода теста, в выходной каталог теста.
  • copy-resources копировать произвольные файлы ресурсов в выходной каталог, требуя от нас указания входных файлов и выходного каталога.

Давайте посмотрим на плагин ресурсов в pom.xml :

<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
<configuration>
...
</configuration>
</plugin>

Мы можем найти последнюю версию этого плагина здесь .

3. Пример

Предположим, мы хотим скопировать файлы ресурсов из каталога input-resources в каталог output-resources и исключить все файлы, заканчивающиеся расширением .png .

Этим требованиям удовлетворяет данная конфигурация:

<configuration>
<outputDirectory>output-resources</outputDirectory>
<resources>
<resource>
<directory>input-resources</directory>
<excludes>
<exclude>*.png</exclude>
</excludes>
<filtering>true</filtering>
</resource>
</resources>
</configuration>

Конфигурация применяется ко всем исполнениям подключаемого модуля ресурсов .

Например, когда цель ресурсов этого плагина выполняется с помощью команды mvn resources:resources , все ресурсы из каталога input-resources , кроме файлов PNG, будут скопированы в output-resources .

Поскольку по умолчанию цель ресурсов привязана к фазе ресурсов процесса в жизненном цикле Maven по умолчанию , мы можем выполнить эту цель и все предыдущие фазы, выполнив команду mvn process-resources .

В данной конфигурации есть параметр filtering со значением true . Параметр фильтрации используется для замены переменных-заполнителей в файлах ресурсов .

Например, если у нас есть свойство в POM:

<properties>
<resources.name>ForEach</resources.name>
</properties>

и один из файлов ресурсов содержит:

Welcome to ${resources.name}!

затем переменная будет оцениваться в выходном ресурсе, и результирующий файл будет содержать:

Welcome to ForEach!

4. Вывод

В этой быстрой статье мы рассмотрели плагин ресурсов и дали инструкции по его использованию и настройке.

Полный исходный код этого руководства можно найти на GitHub .