Gradle 来自模块的传递依赖
Gradle Transitive Dependencies from Modules
免责声明:
我是 Gradle 的新手,已经阅读了很多文档,我不知道我的 maven-style 理解是否让我感到困惑,或者是否是睡眠部门(孩子们 - 不要问), 但我还是不明白。
问题背景:
我有一个由多个模块组成的项目。
其中一个模块,姑且称之为data-structure定义了一个数据结构
另一个模块,data-structure-fabsearch,为数据结构定义了一个数据源的实现,最后
第三个模块 fabsearch-common 定义了一些通用数据源 类(例如:与 fabsearch 数据源的连接管理等)。
我这样做的原因是因为实际上还有另一个模块也使用了 fabsearch-common 东西。
无论如何,我的 data-structure-fabsearch build.gradle 看起来像这样:
dependencies {
compile project(:data-structure)
compile project(:fabsearch-common)
}
fabsearch-common 模块声明 fabsearch api 的依赖项(我们称之为 fabsearch-api-1.0.0)。
因此,data-structure-fabsearch 的依赖关系树应该 如下所示:
- data-structure-fabsearch
- data-structure
- fabsearch-common
- fabsearch-api-1.0.0
昨晚一切都非常顺利。今天早上我来上班,突然间那些依赖关系不再解决了。不再找到对 fabsearch-api-1.0.0 类 的引用。
我试过的
1. 在 parent build.gradle:
project(':data-structure-fabsearch'){
apply plugin: 'java'
dependencies {
compile project(path: ':data-structure', configuration: 'compile')
compile project(path: ':fabsearch-common', configuration: 'compile')
}
}
无论有没有配置设置,我都试过了。
2.在data-structure-fabsearchbuild.gradle文件中,添加配置参数.
3.重启IntelliJ
4.点击Gradle工具中的刷新图标window(重复)
5. 阅读 Gradle 用户指南
中关于传递依赖的所有内容
6.喝茶(反复)
None 以上作品。
我期待什么
我期望 fabsearch-common 依赖项(fabsearch-api jar)也应该包含在 data-structure-fabsearch 依赖项树中。 data-structure-fabsearch 中对 fabsearch-api 类 的所有引用都应解析等
我的问题[s]
虽然这在 Maven 中是可能的,但在 Gradle?
中是否可能
我需要做什么才能让它工作?
在不死的情况下,你能睡多少觉?
非常感谢您的帮助。
原来问题根本不是 gradle。问题是 IntelliJ。
它把内裤改成了适当的扭曲!
解法:
1.关闭IntelliJ中的项目
2.删除.idea目录
3. 删除所有 .iml 文件和任何其他对 IntelliJ cra 有用的文件
4. 在 IntelliJ 中打开项目,选择相同的目录。问题消失。
免责声明: 我是 Gradle 的新手,已经阅读了很多文档,我不知道我的 maven-style 理解是否让我感到困惑,或者是否是睡眠部门(孩子们 - 不要问), 但我还是不明白。
问题背景:
我有一个由多个模块组成的项目。
其中一个模块,姑且称之为data-structure定义了一个数据结构
另一个模块,data-structure-fabsearch,为数据结构定义了一个数据源的实现,最后
第三个模块 fabsearch-common 定义了一些通用数据源 类(例如:与 fabsearch 数据源的连接管理等)。
我这样做的原因是因为实际上还有另一个模块也使用了 fabsearch-common 东西。
无论如何,我的 data-structure-fabsearch build.gradle 看起来像这样:
dependencies {
compile project(:data-structure)
compile project(:fabsearch-common)
}
fabsearch-common 模块声明 fabsearch api 的依赖项(我们称之为 fabsearch-api-1.0.0)。
因此,data-structure-fabsearch 的依赖关系树应该 如下所示:
- data-structure-fabsearch
- data-structure
- fabsearch-common
- fabsearch-api-1.0.0
昨晚一切都非常顺利。今天早上我来上班,突然间那些依赖关系不再解决了。不再找到对 fabsearch-api-1.0.0 类 的引用。
我试过的
1. 在 parent build.gradle:
project(':data-structure-fabsearch'){
apply plugin: 'java'
dependencies {
compile project(path: ':data-structure', configuration: 'compile')
compile project(path: ':fabsearch-common', configuration: 'compile')
}
}
无论有没有配置设置,我都试过了。
2.在data-structure-fabsearchbuild.gradle文件中,添加配置参数.
3.重启IntelliJ
4.点击Gradle工具中的刷新图标window(重复)
5. 阅读 Gradle 用户指南
中关于传递依赖的所有内容
6.喝茶(反复)
None 以上作品。
我期待什么
我期望 fabsearch-common 依赖项(fabsearch-api jar)也应该包含在 data-structure-fabsearch 依赖项树中。 data-structure-fabsearch 中对 fabsearch-api 类 的所有引用都应解析等
我的问题[s]
虽然这在 Maven 中是可能的,但在 Gradle?
中是否可能
我需要做什么才能让它工作?
在不死的情况下,你能睡多少觉?
非常感谢您的帮助。
原来问题根本不是 gradle。问题是 IntelliJ。
它把内裤改成了适当的扭曲!
解法:
1.关闭IntelliJ中的项目
2.删除.idea目录
3. 删除所有 .iml 文件和任何其他对 IntelliJ cra 有用的文件
4. 在 IntelliJ 中打开项目,选择相同的目录。问题消失。