如何找到正在下载 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 plugintree
命令查找源代码。
你的 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 更新我的依赖项?