«1. Обзор

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

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

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

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

Три цели этого подключаемого модуля:

    ресурсы — копировать ресурсы, которые являются частью основного исходного кода, в основной выходной каталог. testResources — копировать ресурсы, которые являются частью исходного кода теста, в тест. output directory 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>Baeldung</resources.name>
</properties>

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

Welcome to ${resources.name}!

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

Welcome to Baeldung!

4. Заключение

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

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

Next »

Maven Compiler Plugin