Gradle多子模块架构出现循环依赖问题求助
解决Gradle多模块循环依赖问题
你的问题出在依赖配置里指定了namedElements这个配置项,导致Gradle错误地将:storage:common自身的jar包作为依赖引入,进而触发了循环依赖(classes→compileJava→jar→classes),同时IDEA也因此解析错误,显示成依赖自身。
修复步骤:
- 打开
:storage:common的build.gradle,把依赖配置改成下面这样,去掉多余的configuration: 'namedElements':
dependencies { implementation(project(":network:common")) { transitive false } }
- 刷新Gradle项目(IDEA里点右上角的刷新按钮),然后重新执行构建任务。
原因说明:
对于Gradle Java多模块项目,implementation(project(":xxx"))会自动使用正确的依赖配置(默认是apiElements/runtimeElements),不需要手动指定namedElements——这个配置通常用于组件发布场景,手动指定反而会打乱Gradle的依赖解析逻辑,误引入自身jar导致循环。
如果确实需要控制依赖的传递性,保留transitive false即可,不需要额外的配置参数。
内容的提问来源于stack exchange,提问作者Skyriiy
相关产品推荐
相关产品推荐

