Is dependency-reduced-pom.xml автоматически используется вместо pom.в XML?
и dependency-reduced-pom.xml
создано Maven shade плагин автоматически используется в проектах, которые зависят от uberjar (вместо обычного pom.xml
)?
спрашивая это после прочтения ряда зависимостей-reduced-pom.вопросы, связанные с xml, и не имеют ответа:
Maven shade плагин добавление зависимости-снижение-pom.xml в базовый каталог
какова цель зависимости-reduced-pom.XML генерируется плагином shade?
что такое ' dependency-reduced-pom.xml-файл, который был создан при вызове команды пакета maven?
1 ответов
на dependency-reduced-pom.xml
генерируется во время сборки в ${basedir}
проекта. Этот файл является временным файлом, который используется только для упаковки в затененной банки. Цитирование документации createDependencyReducedPom
:
отметьте, нужно ли создавать упрощенный POM для затененного артефакта. Если установлено значение
true
, зависимости, которые были включены в банку uber, будут удалены из<dependencies>
раздел сгенерированного POM. Уменьшенный POM будет имениdependency-reduced-pom.xml
и хранится в том же каталоге, что и затененный артефакт. Если не указатьdependencyReducedPomLocation
, плагин создаст временный файл имениdependency-reduced-pom.xml
в проекте basedir.
чтобы было ясно, после maven-shade-plugin
запустить:
- ваш начальный POM останется неизменным;
- временный файл, который вы можете полностью проигнорировать имени
dependency-reduced-pom.xml
будет создан внутри корня папка (это считается открытой проблемой с этим плагином); - затененный артефакт будет содержать ваш первоначальный POM без изменений внутри
META-INF
каталог, а не уменьшенный POM (это не очень важно, но лучше упомянуть об этом - была проблема об этом, которая была закрыта автоматически:MSHADE-36); - POM, который будет развернут, является уменьшенным POM;
- затененный артефакт по умолчанию будет основным артефактом проекта.