Подтвердить что ты не робот

Какова цель зависимого-reduced-pom.xml, генерируемого плагином тени?

Я прочитал документы и не нашел ничего, что говорило о том, для чего оно использовалось.

4b9b3361

Ответ 1

Тень: тень Mojo довольно хорошо документирована, особенно особенно в отношении параметра createDependencyReducedPom, который создаст этот файл dependency-reduced-pom.xml: maven-shade-plugin/shade-mojo.html#createDependencyReducedPom

Короче говоря, это очень полезно, если вы намерены использовать этот затененный JAR (вместо обычного JAR) в качестве зависимости для другого модуля. То, что dependency-reduced-pom.xml не будет содержать JAR, уже присутствующие в затененном, избегая бесполезного дублирования.

Ответ 2

Я прочитал docs около ста раз или около того и до сих пор не мог понять, для чего это нужно, что действительно является прецедентом для он.

Наконец, это то, о чем я думаю: скажем, у вас есть проект с зависимостями A, B, C, D, E. В pom.xml вы настраиваете теневой плагин таким образом, чтобы при создании uber-jar (назовите его foo.jar), он включает A, B, C в затененной банке, но по какой-то причине вы решили не включать D, E в заштрихованную банку, даже если ваш проект зависит от них - примером может быть зависимость, которая необходимы только для тестирования (например, любая зависимость, которая имеет scope of test и не включена в заштрихованную банку). dependency-reduced-pom.xml будет определять D, E в нем. Идея состоит в том, что если кто-то хочет использовать foo.jar, то dependency-reduced-pom.xml дает какую-то подсказку, которая остерегается foo.jar не содержит зависимостей D, E в ней - используйте на свой страх и риск. Затем вы можете решительно добавить D, E в проект, который будет использовать foo.jar.

Итак, dependency-reduced-pom.xml больше похож на missing-dependencies.xml и перечисляет зависимости, отсутствующие в uber-jar, которые выводятся плагином тени.