免责声明:
我是 Gradle 的新手,已经阅读了很多文档,我不知道我的 maven 风格的理解是否让我失望,或者是否是 sleep dep( children - 不要问),但我仍然没有得到它。
问题背景:
我有一个由几个模块组成的项目。
其中一个模块,我们称之为数据结构 定义数据结构
另一个模块,数据结构-fabsearch ,为数据结构定义数据源的实现,最后
第三个模块, fabsearch-common , 定义了一些常见的数据源类(例如:到 fabsearch 数据源的连接管理等)。
我这样做的原因是因为实际上还有另一个模块也使用 fabsearch-common 东西。
无论如何,我的数据结构-fabsearch build.gradle 看起来像这样:
dependencies {
compile project(:data-structure)
compile project(:fabsearch-common)
}
fabsearch-common 模块声明了 fabsearch api 的依赖关系(我们称之为 fabsearch-api-1.0.0)。
因此, 的依赖关系树数据结构-fabsearch 应该是这样的:
- data-structure-fabsearch
- data-structure
- fabsearch-common
- fabsearch-api-1.0.0
昨晚这一切都很好。今天早上我来上类,突然之间这些依赖关系不再解决了。不再找到对 fabsearch-api-1.0.0 类的引用。
我试过的
1.在父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.在数据结构-fabsearch build.gradle 文件,添加配置参数。
3. 重启 IntelliJ
4.点击Gradle工具窗口中的刷新图标(重复)
5. 阅读 Gradle 用户指南中有关传递依赖的所有内容
6.喝茶(反复)
以上都不起作用。
我的期待
我期望 fabsearch-common 依赖项(fabsearch-api jars)也应该包含在 data-structure-fabsearch 依赖项树中。 data-structure-fabsearch 中对 fabsearch-api 类的所有引用都应解析等。
我的问题[s]
虽然这在 Maven 中是可能的,但在 Gradle 中是否可能?
我该怎么做才能让它工作?
你可以在不死的情况下服用多少 sleep 深度?
非常感谢您的帮助。
最佳答案
原来问题根本不是gradle。问题是 IntelliJ。
它把它的短裤变成了适当的扭曲!
解决方案:
1. 在 IntelliJ 中关闭项目
2.删除.idea目录
3. 删除所有 .iml 文件和任何其他 IntelliJ cra 有用的文件
4. 在 IntelliJ 中打开项目,选择相同的目录。问题消失。
关于java - 来自模块的 Gradle 传递依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33692360/