You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gradle 5中查看BOM提供的所有依赖的方法咨询(脚本/命令行)

嘿,这两个问题其实可以通过几种实用的方式解决,我来给你详细说明:

问题1:如何找出Gradle 5中由BOM提供的所有依赖?

在Gradle 5里,要查看BOM包含的所有依赖,主要有命令行快速查看和自定义任务精准解析两种方式,我分别给你讲:

方式1:用Gradle内置命令行工具

你可以借助dependencies任务来查看,但因为BOM是作为平台导入的,它会影响整个项目的依赖版本,所以可以指定配置来缩小范围:

./gradlew dependencies --configuration compileClasspath

这个命令会输出compileClasspath配置下的所有依赖,包括BOM管控的版本信息。如果输出太多,你可以用过滤命令只看和目标BOM相关的内容,比如针对Spring Boot BOM:

./gradlew dependencies --configuration compileClasspath | grep -A 3 -B 3 "spring-boot-dependencies"

如果想更精准地查看BOM本身包含的所有依赖(而非项目实际使用的),可以用自定义任务。

方式2:自定义Gradle任务解析BOM

在你的build.gradle中添加一个专门的任务,它会直接解析指定BOM并输出所有依赖:

task listBomDependencies {
    doLast {
        // 这里替换成你要查看的BOM坐标
        def bomCoords = "org.springframework.boot:spring-boot-dependencies:2.1.2.RELEASE"
        def bom = dependencies.platform(bomCoords)
        def resolvedBom = bom.resolve()
        
        println "=== 以下是BOM ${bomCoords} 提供的所有依赖 ==="
        resolvedBom.allModuleDependencies.each { dep ->
            println "${dep.group}:${dep.name}:${dep.version}"
        }
    }
}

添加好后,运行这个任务就能看到完整的BOM依赖列表:

./gradlew listBomDependencies

问题2:针对给定的Spring Boot BOM配置,能否列出所有依赖?

当然可以!上面提到的两种方式都完全适用:

  • 用命令行的话,直接运行./gradlew dependencies --configuration compileClasspath就能看到项目中受该BOM管控的所有依赖及版本;如果只想看BOM本身的内容,用上面的自定义任务即可。
  • 如果你不想修改build.gradle,也可以用临时脚本的方式运行(比如创建一个list-bom.gradle文件,把上面的任务代码放进去,然后运行./gradlew -b list-bom.gradle listBomDependencies)。

需要注意的是,Gradle 5中platform()方法导入的BOM只会管控依赖版本,不会自动引入依赖,所以dependencies命令的输出里,只有项目实际声明的依赖会显示,但自定义任务会直接解析BOM的所有内容,不管项目有没有用到。

内容的提问来源于stack exchange,提问作者anonk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:50:13