如何找到正在下载 jar 的 maven 依赖项?

Posted

技术标签:

【中文标题】如何找到正在下载 jar 的 maven 依赖项?【英文标题】:How to find which maven dependency is downloading a jar? 【发布时间】:2021-10-25 04:59:11 【问题描述】:

我在 spring boot mongodb 应用程序中遇到了一个问题,我得到了以下异常

java.lang.NoSuchMethodError: 'com.mongodb.connection.ConnectionPoolSettings$Builder
com.mongodb.connection.ConnectionPoolSettings$Builder.maxWaitQueueSize(int)

根据我的发现,我必须将 mongodb-driver 版本更新到高于 3.5 的版本。当前使用的版本是 3.2.2

在应用程序的 pom.xml 中,根本没有 mongodb-driver 依赖。据我了解,其他一些依赖项正在下载这个 mongodb-driver jar。如何找出正在下载它的依赖项以及如何使该特定依赖项下载更高版本的 mongodb-driver jar?

【问题讨论】:

您可以使用dependency plugin tree命令查找源代码。 你的 spring boot 版本是多少? @R.G 我使用的是springboot 1.4.2版 如果可以升级spring boot版本,最新支持的mongodb-driver-core版本是4.2.3。 reference 【参考方案1】:

你有两个选择:

Eclipse IDE

打开您的 maven 项目 打开 pom.xml 点击依赖层次结构 在搜索框中输入罐子的名称(或部分) 您将看到与您的 jar 相关的依赖关系树

使用maven插件

正如@Naman 所说,您可以使用dependency:tree 插件。

你只需要在你的 shell 上安装 maven。要查看完整的树,请执行以下命令:

mvn dependency:tree 或使用通配符搜索

mvn dependency:tree -Dincludes=*common*

【讨论】:

以上是关于如何找到正在下载 jar 的 maven 依赖项?的主要内容,如果未能解决你的问题,请参考以下文章

如何将“非 mavenized”jar 依赖项添加到 grails 项目(Grails 3.x)

如何使用不同的分类器在 Ivy 中下载多个 Maven 依赖项?

如何让 IntelliJ IDEA 从 Maven 更新我的依赖项?

获取附加到 Eclipse 的源 jar 文件以获取 Maven 管理的依赖项

maven会在啥时候更新所有jar

如何在 pom.xml 中添加\安装到新创建\第三方 jar 的 maven 依赖项