Пользовательский плагин Maven: как обрабатывать FileSet?

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

@Parameter
private FileSet[] filesets;

Он хорошо компилируется и выполняет некоторые задачи, для которых предназначен. Я также вижу, что поле набора файлов заполняется, когда я помещаю такие вещи в pom:

<configuration>
    ...
    <filesets>
        <fileset dir = "/">
            <include name = "**/*.*"/>
        </fileset>
    </filesets>
</configuration>

А вот в плагине я не знаю как перебирать включенные файлы. Приведенный ниже код всегда дает мне пустой список:

FileSetManager fileSetManager = new FileSetManager();
fileSetManager.getIncludedFiles(fileset);

Разочарованный, я изменил свой шаблон, включив в него все файлы файловой системы, но все равно безуспешно. И документация по этой теме посвящена только определению параметров и не содержит подробного описания того, как их использовать: https://maven.apache.org/guides/plugin/guide-java-plugin-development.html#Parameters

Итак, как я могу правильно перебирать файлы в наборе файлов?

изменить: Если кто-то считает, что я дал расплывчатую информацию - это все, что вы можете увидеть в Руководстве по разработке плагинов Maven. Кажется, есть люди, которые могут это понять.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
58
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я нашел дополнительную документацию специально для обработки наборов файлов в Maven: https://maven.apache.org/shared/file-management/examples/mojo.html

Хотя это и подтверждает, что я нахожусь на правильном пути, однако файлы по-прежнему не включены в набор файлов. Я углубился в эту конфигурацию. Это должно выглядеть так:

<configuration>
    ...
    <filesets>
        <fileset>
            <directory>/</directory>
            <include name = "**/*.*"/>
        </fileset>
    </filesets>
</configuration>

Помните об элементе directory!

Другие вопросы по теме

Похожие вопросы

Почему мы используем новый оператор для доступа к вложенному статическому классу в Java?
Почему полученные сообщения не отображаются в пользовательском интерфейсе?
Плагин [id: 'kotlin-android', версия: '1.7.10'] не был найден ни в одном из следующих источников в Android Studio для Flutter
Как программно установить в Jetty 12 максимальный размер запроса?
Не удалось найти валидатор для ограничения «jakarta.validation.constraints.Pattern» — ошибка все еще появляется даже после удаления валидатора из класса
Свойство цвета строки состояния Android не применяется к действиям, выполненным из предустановки действий «Пустые представления»
Область столбца-заполнителя полосы прокрутки в стиле TableView
Невозможно получить доступ к классу Retrofit2.Response. Проверьте путь к классам вашего модуля на предмет отсутствующих или конфликтующих зависимостей
Ошибка запуска log4j2. Нераспознанный спецификатор преобразования и спецификатор формата
Обработка внутренней ошибки сервера, когда эмитент OAuth недоступен в WebFluxSecurity