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

В Maven, как я могу исключить все транзитивные зависимости от конкретной зависимости?

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

<dependency>
  <groupId>myParentPackage</groupId>
  <artifactId>myParentProject</artifactId>
  <version>1.00.000</version>            
  <exclusions>
    <exclusion>
        <groupId>*</groupId>
        <artifactId>*</artifactId>
    </exclusion>
  </exclusions>
</dependency>

Когда я это сделаю, я получаю предупреждение:

'dependencies.dependency.exclusions.exclusion.groupId' for myParentPackage:myParentProject:jar with value '*' does not match a valid id pattern. @ line 146, column 30

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

Я также нашел старый запрос функции, который запрашивает именно эту функцию

Итак, теперь я не знаю, является ли это устаревшей функцией, которую я не должен использовать, если предупреждение неправильное или функция еще не реализована полностью (я использую Maven 3.0.4)... Кто-нибудь знает об этом больше?

4b9b3361

Ответ 2

Я ненавижу получать предупреждения Maven. Я видел подстановочный подход, но избегал этого. Запустите mvn dependency: tree goal, найдите зависимости верхнего уровня, принадлежащие рассматриваемому артефакту, и исключите каждую из них отдельно (надеюсь, что список не настолько обширен). Это, безусловно, самый безопасный способ решения этой проблемы.

Ответ 3

Что касается моего знания, эта функция еще не существует. В запросе функции, который вы отправили, вы можете видеть, что статус по-прежнему "не разрешен".