[英]“Using Maven 2 dependency tree to get verbose output, which may be inconsistent with actual Maven 3 resolution”
我已经将使用过的maven-dependency-plugin
从2.8更改为2.10。 现在,当我运行mvn dependency:tree -Dverbose
我看到以下警告:
[WARNING] Using Maven 2 dependency tree to get verbose output, which may be inconsistent with actual Maven 3 resolution
我正在使用的Maven版本是
Apache Maven 3.2.1 (ea8b2b07643dbb1b84b6d16e1f08391b666bc1e9; 2014-02-14T18:37:52+01:00)
-Dverbose
输出,但现在他们只添加了警告? 您可以在官方文档中找到对您的问题的解释:
verbose是否在序列化依赖关系树中包含省略的节点。 请注意,此功能实际上使用Maven 2算法,并且在与Maven 3一起使用时可能会给出错误的结果。
看一下版本2.10的TreeMojo.java的第245行:
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,它实际上会打印警告。
现在查看TreeMojo.java的第243行版本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
时将在以后的版本中删除它dependency:tree -Dverbose
以使用maven 3功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.