Java 来自模块的渐变传递依赖

Java 来自模块的渐变传递依赖,java,intellij-idea,gradle,build-dependencies,Java,Intellij Idea,Gradle,Build Dependencies,免责声明: 我是Gradle的新手,读过很多文档,我不知道我的maven式理解是否让我受挫,或者是睡眠副作用(孩子们——不问),但我还是不明白 问题背景: 我有一个由几个模块组成的项目。 其中一个模块,我们称之为数据结构定义了一个数据结构 另一个模块,数据结构fabsearch,定义了数据结构的数据源实现,最后是 第三个模块,fabsearch common定义了一些公共数据源类(例如:fabsearch数据源的连接管理等) 我这样做的原因是因为实际上还有另一个模块也使用了fabsearch c

免责声明: 我是Gradle的新手,读过很多文档,我不知道我的maven式理解是否让我受挫,或者是睡眠副作用(孩子们——不问),但我还是不明白

问题背景:
我有一个由几个模块组成的项目。
其中一个模块,我们称之为数据结构定义了一个数据结构
另一个模块,数据结构fabsearch,定义了数据结构的数据源实现,最后是
第三个模块,fabsearch common定义了一些公共数据源类(例如:fabsearch数据源的连接管理等)

我这样做的原因是因为实际上还有另一个模块也使用了fabsearch common东西

无论如何,我的数据结构fabsearchbuild.gradle看起来像这样:

dependencies {
   compile project(:data-structure)
   compile project(:fabsearch-common)
}
- data-structure-fabsearch
   - data-structure
   - fabsearch-common
     - fabsearch-api-1.0.0
fabsearch common模块声明了fabsearch api的依赖关系(我们称之为fabsearch-api-1.0.0)

因此,数据结构fabsearch的依赖关系树应该如下所示:

dependencies {
   compile project(:data-structure)
   compile project(:fabsearch-common)
}
- 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.在数据结构fabsearchbuild.gradle文件中,添加配置参数。
3.重新启动IntelliJ
4.单击渐变工具窗口中的刷新图标(重复)
5.阅读Gradle用户指南中关于可传递依赖项的所有内容
6.(反复)喝茶

以上都不起作用

我所期待的
我希望fabsearch公共依赖项(fabsearch api JAR)也应该包含在数据结构fabsearch依赖项树中。数据结构fabsearch中对fabsearch api类的所有引用都应解析等

我的问题
虽然这在Maven是可能的,但在Gradle是可能的吗?
我要怎么做才能让它工作?
你能吃多少睡眠时间而不致死亡


非常感谢您的帮助。

原来问题根本不是格拉德。问题是IntelliJ

它把内裤扭成了一个合适的形状

解决方案:
1.在IntelliJ中关闭项目
2.删除.idea目录
3.删除所有.iml文件和任何其他IntelliJ cra有用文件
4.在IntelliJ中打开项目,选择相同的目录。问题消失。