为什么Gradle 7.3无法识别相对路径定义的子模块?
问题原因
你出现报错的核心原因是误用了project()函数:
project()函数的作用是查找当前构建树中已经导入完成的项目,无法用于在settings脚本初始化阶段,根据文件路径生成待导入的项目引用。- 你在还没有导入任何子项目/包含构建的阶段,就调用
project(File("./graph-commons/core"))去查找不存在的项目,自然会抛出路径找不到的错误。
修复方案
根据你的使用场景二选一即可:
场景1:使用复合构建(即你原本想用includeBuild的场景)
直接把路径传给includeBuild即可,不需要套project()函数:
// settings.gradle.kts includeBuild("./graph-commons/core")
场景2:作为普通多模块子项目导入
如果不需要复合构建的能力,只想把它作为根项目的子模块,使用include导入即可:
// settings.gradle.kts include(":graph-commons:core") // 如有需要可以手动指定项目目录路径 project(":graph-commons:core").projectDir = file("./graph-commons/core")
内容的提问来源于stack exchange,提问作者tribbloid
相关产品推荐
相关产品推荐

