Gradle多项目中如何让driver子项目本地依赖根项目且不生成二进制
实现步骤
1. 配置根项目的settings.gradle.kts
确认根目录下的settings.gradle.kts中已声明引入driver子项目,配置内容如下:
rootProject.name = "root-project" // 引入driver子项目 include("driver")
2. 配置根项目的build.gradle.kts
确保根项目开启了对应组件的插件,以Java项目为例,需要引入对应插件对外暴露编译产物,示例配置:
plugins { `java-library` // 普通Java项目用java插件也可,java-library更适配被其他项目依赖的场景 } group = "com.example" version = "1.0-SNAPSHOT" repositories { mavenCentral() } // 其他自定义配置、根项目自身依赖均可在此声明
3. driver子项目添加根项目依赖
在driver/build.gradle.kts的依赖块中直接添加根项目的项目依赖即可,无需将根项目提前打包为二进制包:
plugins { `java` // 可根据项目实际类型调整,比如kotlin、Android等 } repositories { mavenCentral() } dependencies { // 冒号代表根项目,直接依赖根项目的实时编译产物 implementation(project(":")) // driver子项目的其他依赖在此声明 }
效果验证
执行driver子项目的构建任务时,Gradle会自动先编译根项目的最新代码,再编译driver子项目,全程不需要手动生成根项目的二进制包。
内容的提问来源于stack exchange,提问作者Liveon Phoenix
相关产品推荐
相关产品推荐

