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;
- затененный артефакт по умолчанию будет основным артефактом проекта.