如何查看 Maven pom.xml 文件的传递依赖项?
Posted
技术标签:
【中文标题】如何查看 Maven pom.xml 文件的传递依赖项?【英文标题】:How can I view transitive dependencies of a Maven pom.xml file? 【发布时间】:2011-08-31 22:23:16 【问题描述】:是否有 CLI 工具可用于快速查看 Maven pom.xml 文件的传递依赖关系?
【问题讨论】:
How to get a dependency tree for an artifact?的可能重复 【参考方案1】:在 CLI 上,使用 mvn dependency:tree
(这里有一些额外的Usage notes)
在多模块 maven 项目上运行 dependency:tree
时,请改用 mvn compile dependency:tree
1。
否则,M2Eclipse(Eclipse 的 Maven 集成)中的 POM 编辑器非常好,它包含分层依赖视图。
1如果你不编译,你可能会得到错误Failed to execute goal on project baseproject: Could not resolve dependencies for project com.company:childproject:jar:1.0.0: Could not find artifact
。这可能是因为dependency:tree
命令不构建项目并且不解析依赖项,并且您的项目未安装在 maven 存储库中。
【讨论】:
如果您试图在编译时确定您所依赖的传递依赖项,那么这并不实际。它只是为您提供了所有传递依赖项的巨大列表,无论是否使用。 另外,要查看传递依赖项之间的冲突解决方案,您需要添加详细信息: mvn dependency:tree -Dverbosehttps://maven.apache.org/plugins/maven-dependency-plugin/examples/resolving-conflicts-using-the-dependency-tree.html
我认为@kisna 建议的详细选项是必不可少的-否则,将不会绘制重复的传递依赖关系。
另一个警告:如果项目使用 Shade 插件,dependency:tree
可能无法绘制其传递依赖关系。以上是关于如何查看 Maven pom.xml 文件的传递依赖项?的主要内容,如果未能解决你的问题,请参考以下文章
将生成的 jar 文件的名称从 Maven pom.xml 传递到 Dockerfile