java - Gradle 多项目多个依赖项
问题描述
我有一个这样的gradle项目:
root
|
|---- projectA
|
|---- projectB
...
我的根 build.gradle 包含 projectA 和 projectB 所需的依赖项。我这样定义它们:
subprojects {
repositories {
jcenter()
mavenCentral()
mavenLocal()
}
dependencies {
compile 'com.google.guava:guava:23.0'
compile group: 'com.google.code.gson', name: 'gson', version: '2.8.2'
现在我正在尝试从 projectB 添加对 projectA 的依赖项,因此我的 projectB build.gradle 看起来像这样:
dependencies {
implementation project(':projectA')
}
和projectB settings.gradle:
include ':projectA'
project(':projectA').projectDir = new File(settingsDir, '../projectA')
这目前正在失败,因为 projectA 和 B 不依赖 root 来获取所需的依赖项。
我可以在 root 上添加来自 projectA 的另一个依赖项,或者从一个根项目共享相同依赖项的默认 gradle 方法是什么?
解决方案
您的模块(A 和 B)未正确设置为根项目的子模块。在您的基本文件夹中,如有必要,创建settings.gradle
文件,并添加子模块定义:
根/settings.gradle
include 'projectA', 'projectB'
projectB的build.gradle
文件是ok的,那么你需要删除root/projectB/settings.gradle
文件;子模块及其位置在父构建文件中指定。
推荐阅读
- nginx - Nginx:防止双重重定向
- javascript - Sequelize M:N 关联操作
- python - Pytorch CNN:预期输入有 1 个通道,但有 60000 个通道
- multithreading - 如何解决数组上的多线程问题
- c++ - VsCode C++ gdb调试器不显示动态类型
- sql-server - 如何在 SQL 中识别和排除事务逆转
- python - 谷歌财经股票筛选器 - Python (Scrapy)
- python - 在 Python 中根据标签过滤快照时出现 KeyError
- javascript - 如何使用javascript检查元素是否具有类
- reactjs - 包裹打字稿模块扩充