gradle查看依赖关系树
- IDEA右边点开gradle
- 按图依此找到子模块(我的模块名叫做service,没有设置模块就从根目录开始找) -> Tasks-> help-> dependencies,双击dependencies。 (注意:如果要查看子模块的关系树,一定要找子模块的,否则输出的关系树就不是该子模块的)。
- 查看关系树:双击图中位置,就可以查看到打印出来的关系依赖树
删除对具体包的依赖
场景:
1.强制移除对某些包的依赖,如前两天曝漏洞的log4j
2.项目有2个甚至多个相同的依赖,导致项目无法启动,比如用于打印日志的一些log类
全局搜索要移除的依赖,比如我这里是:log4j-api
如果是没有子模块的项目,直接用exclude指定不依赖要删除的依赖:
- 在build.gradle中 ,exclude掉要移除的依赖:
- exclude(group:“org.apache.logging.log4j”, module: “log4j-api”)
其中group和module可以从依赖关系树中copy:
有可能设置1次exclude还不能完全生效,可以不断双击depencencies查看依赖关系树,然后搜索看看要删除的依赖有没有变少。
如果是有子模块的项目,在整个项目的build.gradle中移除依赖:
在整个项目的build.gralde中,设置所有子模块都不要用要删除的依赖:
subprojects {
configurations.all {
exclude(group:"org.apache.logging.log4j", module: "log4j-api")
}
}
subprojects表示影响所有子模块。
有可能设置1次exclude还不能完全生效,可以不断双击depencencies查看依赖关系树,然后搜索看看要删除的依赖有没有变少。