如何在Gradle及IntelliJ中查看子项目的有效构建配置?
Gradle获取子项目有效构建配置的方法
一、Gradle命令行方式
1. 导出完整项目模型(最接近Maven help:effective-pom的功能)
使用./gradlew :<sub-project-name>:model命令,这个命令会输出子项目的完整构建模型,包括:
- 所有应用的插件(含父项目
subprojects块中添加的) - 所有配置项(如
repositories、sourceSets等) - 所有任务(继承自父项目+子项目自定义的)
- 依赖配置(比
dependencies命令更全面的配置信息)
输出内容会以结构化的形式展示,比如插件列表会明确标注来源,任务会显示继承关系和配置参数。
2. 查看特定类型的配置
如果只关注某一类信息,可以用更针对性的命令:
- 查看所有插件:
./gradlew :<sub-project-name>:plugins,会列出所有已应用的插件,包括从父项目继承的 - 查看仓库配置:
./gradlew :<sub-project-name>:printRepositories(需要Gradle 7.0+),直接输出子项目生效的仓库列表 - 查看任务详情:
./gradlew :<sub-project-name>:tasks --all,展示所有可用任务(含继承的)及任务之间的依赖关系
二、IntelliJ IDEA中的实现方式
1. Gradle工具窗口查看
打开右侧的Gradle工具窗口,定位到目标子项目:
- 查看插件:展开子项目下的Plugins节点,所有已应用的插件(父项目+子项目)都会在这里显示
- 查看任务:展开Tasks节点,分类展示所有可用任务,包括从父项目继承的任务
- 查看仓库/配置:打开子项目的
build.gradle文件,点击顶部的Gradle标签(IDEA会自动解析并展示生效的配置,包括继承自父项目的仓库、依赖配置等)
2. 使用IDEA的构建模型查看器
在IDEA中,通过File > Open选择子项目的build.gradle,或者直接在现有项目中操作,可通过以下方式查看完整配置:
- 打开Project Structure(快捷键
Ctrl+Alt+Shift+S),在Modules中选择目标子项目:- 切换到Plugins标签,查看所有已应用的插件
- 切换到Dependencies标签,查看所有生效的依赖(含父项目传递的)
- 切换到Paths/Sources标签,查看继承自父项目的
sourceSets配置
补充说明
:model命令输出的内容比较详细,建议结合grep(Linux/macOS)或findstr(Windows)过滤需要的信息,比如./gradlew :sub-project:model | grep "plugins"- 对于Gradle 8.0+,
model命令已被标记为废弃,推荐使用./gradlew :<sub-project-name>:showModel命令,输出格式更清晰
内容的提问来源于stack exchange,提问作者samshers
相关产品推荐
相关产品推荐

