前言
在实际的工作中,经常会遇到多个项目之间的互相依赖与引用。这种场景下,在Gradle里该如何进行配置,会在本文中进行介绍。
一、背景
文中使用的Gradle为7.4版本
假设有两个项目:gradle-test-a 和 gradle-test-b
这两个项目的目录结构分别如下
gradle-test-a
|--gradle-test-a1-module
| |--build.gradle
|--gradle-test-a2-module
| |--build.gradle
|--build.gradle
|--settings.gradle
gradle-test-b
|--gradle-test-b-module
| |--build.gradle
|--build.gradle
|--settings.gradle
gradle-test-a项目下有2个moudle: gradle-test-a1-moudle 和 gradle-test-a2-moudle
gradle-test-b项目下有1个moudle: gradle-test-b-moudle
假如gradle-test-b项目的gradle-test-b-moudle需要依赖gradle-test-a项目的gradle-test-a1-moudle,那我们该如何在gradle中进行配置呢?
二、Gradle配置
1.gradle-test-b
因为是gradle-test-b项目依赖gradle-test-a项目,所以只需要在gradle-test-b项目进行配置,又因是gradle-test-b-moudle需要依赖gradle-test-a项目的gradle-test-a1-moudle,所以在gradle-test-b项目里,只需要对settings.gradle进行配置
rootProject.name = 'gradle-test-b'
include 'gradle-test-b-module'
//添加对gradle-test-a项目gradle-test-a1-moudle模块的依赖
include 'gradle-test-a:gradle-test-a1-moudle'
project(':gradle-test-a:gradle-test-a1-moudle').projectDir = new File(settingsDir, '../gradle-test-a/gradle-test-a1-moudle')
2.gradle-test-b-moudle
因为gradle-test-b-moudle需要依赖gradle-test-a项目的gradle-test-a1-moudle,所以需要在gradle-test-b-moudle的build.gradle中进行如下配置
dependencies {
//加入对gradle-test-a1-moudle的依赖
implementation project(':gradle-test-a:gradle-test-a1-moudle')
}
然后在Idea中对gradle-test-b项目进行reload, 会发现依赖的模块已经加载进来,至此配置完成
总结
本文介绍了基于Gradle7.4,如何配置项目间的依赖。