Неправильное разрешение зависимостей в многомодульной сборке начиная с maven 3.3

Я создал плагин maven, который собирает все зависимости проекта и заполняет файл шаблона информацией об артефактах: jnlp-maven-plugin. Включает тестовые примеры для наблюдения за описанным поведением.

Начиная с maven 3.3, плагин собирает слишком много артефактов в многомодульных сборках, когда плагин shade создает зависимость. Когда я строю каждый модуль последовательно, корректно предоставляются транзитивные зависимости. Используя maven 3.2.5 все работает нормально.

Артефакты извлекаются с помощью следующего кода: AbstractJnlpMojo # 73. Это выбирает зависимости транзитивно. Есть ли новый способ сделать это, начиная с Maven 3.3? Или я делаю это неправильно?

Сборочный плагин, с другой стороны, всегда правильно выбирает затененные зависимости. Но там зависимости рекурсивно разрешаются с помощью собственного алгоритма.

Для воспроизведения нужно клонировать проект из github и установить корневой модуль. Файлы создаются в двух /target/jnlp. С maven 3.3.X в мультимодульной сборке создано 30 файлов. В более старых версиях Maven и в одном модуле устанавливается 20 файлов.

0 ответов

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