Ответ 1
Это поддерживаемая функция в Maven 3.2.1 - см. раздел "Транзитивная зависимость не включена" в примечаниях к выпуску.
Я хочу исключить все транзитивные зависимости из одной зависимости. В некоторых местах я видел, что он предложил использовать подстановочный знак для этого
<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)... Кто-нибудь знает об этом больше?
Это поддерживаемая функция в Maven 3.2.1 - см. раздел "Транзитивная зависимость не включена" в примечаниях к выпуску.
Я ненавижу получать предупреждения Maven. Я видел подстановочный подход, но избегал этого. Запустите mvn dependency: tree goal, найдите зависимости верхнего уровня, принадлежащие рассматриваемому артефакту, и исключите каждую из них отдельно (надеюсь, что список не настолько обширен). Это, безусловно, самый безопасный способ решения этой проблемы.
Что касается моего знания, эта функция еще не существует. В запросе функции, который вы отправили, вы можете видеть, что статус по-прежнему "не разрешен".