Объяснение вашей проблемы можно найти в официальной документации:
verbose Включать ли пропущенные узлы в сериализованное дерево зависимостей. Обратите внимание, что эта функция на самом деле использует алгоритм 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.
person
Magnilex
schedule
02.04.2015