的解釋,您的問題可以在official documentation發現:
詳細是否包含省略了序列化的依賴關係樹的節點。請注意,這個功能實際使用Maven 2的算法,並可能給錯誤的結果與Maven使用時3
看一看線TreeMojo.java 245 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。
現在看線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
以使用maven 3功能。
您是否試圖在較新的maven 3.2.5上重現它?我沒有得到maven 3.2.5和dependency-plugin 2.10的警告 – andrii 2015-04-02 09:21:25