Объяснение вашей проблемы можно найти в official documentation:
многословные ли включать опущенные узлы в дереве сериализованном зависимостей. Обратите внимание на эту функцию, на самом деле использует алгоритм Maven 2 и может дать неверные результаты при использовании Maven 3.
Посмотрите на линии 245 из TreeMojo.java для версии 2.10:
if (verbose)
{
// verbose mode force Maven 2 dependency tree component use
if (! isMaven2x())
{
getLog().warn("Using Maven 2 dependency tree to get verbose output, "
+ "which may be inconsistent with actual Maven 3 resolution");
}
dependencyTreeString =
serializeVerboseDependencyTree(dependencyTreeBuilder.buildDependencyTree(project,
localRepository,
artifactFilter));
}
Это фактически выводит предупреждение, если maven 2 не используется.
Теперь посмотрим на линии 243 из TreeMojo.java для версии 2.8:
if (verbose)
{
// verbose mode force Maven 2 dependency tree component use
dependencyTreeString =
serializeVerboseDependencyTree(dependencyTreeBuilder.buildDependencyTree(project,
localRepository,
artifactFilter));
}
Предупреждение регистрации там не существует, так:
Было ли это всегда так, что Maven 2 был использован для - Dverbose выход, но только теперь они добавили предупреждение?
Да, предупреждение было добавлено с версии 2.8.
Могу ли я исправить это или избежать этого?
Я полагаю, что нет, то есть не игнорирует сообщения журнала предупреждений или редактирует исходный код.
Однако, как вы можете видеть, функциональность Maven 2 уже использовалась в 2.8. Надеюсь, вы избавитесь от него в более поздних версиях, когда они перенастроят dependency:tree -Dverbose
, чтобы использовать функциональность maven 3.
Вы пытались воспроизвести его на более позднем maven 3.2.5? Я не получил предупреждение на maven 3.2.5 и dependency-plugin 2.10 – andrii