繁体   English   中英

如何使用Maven获得项目的所有嵌套依赖关系?

[英]How can I get all nested dependencies of a project using Maven?

我正在使用一个项目(java),我有一个pom,它称为父pom ...

那个父母pom叫其他pom,他们叫其他pom。 因此,最后我有一个项目,谁的pom调用了其他项目,因此我可以使用它们调用他们的方法以及所有方法(但是我不使用。最后,我的项目使用自己的pom,方法来调用另外20个项目,服务等...

在所有这些混乱之中,我意识到我的项目可能不会使用所有其他项目,因此,我想得到我所需的正确依赖项,将它们从其他项目中删除,并将其包括在我的本地项目中。 其中一些包含的项目可能会相互调用,从而产生一些错误。

我以为我已经清理了这个项目,只包括正确的依赖项,但是然后我得到了一个Dependency convergence error

有什么办法可以一次跟踪项目使用的所有依赖项和包含的项目使用的依赖项(嵌套依赖项)?

谢谢

您是否尝试过maven-dependency-plugin? 您将获得按使用的未声明的依赖项或未使用的已声明的依赖项分组的依赖项列表

mvn依赖关系:分析

或在您的dependencyManagement部分中查看不匹配项,请使用:

mvn依赖项:analyze-dep-mgt

同样有帮助的是

mvn依赖项:树

一个完整的依赖树。 您有更多选择,请参阅maven-dependency-plugin用法以获取更多详细信息。

使用依赖插件:

% mvn dependency:tree -Dverbose -Dincludes=commons-collections
[INFO] [dependency:tree]
[INFO] org.apache.maven.plugins:maven-dependency-plugin:maven-plugin:2.0-alpha-5-SNAPSHOT
[INFO] +- org.apache.maven.reporting:maven-reporting-impl:jar:2.0.4:compile
[INFO] |  \- commons-validator:commons-validator:jar:1.2.0:compile
[INFO] |     \- commons-digester:commons-digester:jar:1.6:compile
[INFO] |        \- (commons-collections:commons-collections:jar:2.1:compile - omitted for conflict with 2.0)
[INFO] \- org.apache.maven.doxia:doxia-site-renderer:jar:1.0-alpha-8:compile
[INFO]    \- org.codehaus.plexus:plexus-velocity:jar:1.1.3:compile
[INFO]       \- commons-collections:commons-collections:jar:2.0:compile

希望能有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM