模块的Gradle传递依赖

时间:2015-11-13 12:03:38

标签: java intellij-idea gradle build-dependencies

声明: 我是Gradle的新手,已经阅读了很多文档,而且我不知道我的maven风格的理解是否让我沮丧,或者是否是睡眠(孩子 - 不要问),但我是仍然没有得到它。

问题背景:
我有一个由几个模块组成的项目 其中一个模块,我们称之为数据结构定义数据结构
另一个模块 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.在父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-fabsearch build.gradle文件中,添加配置参数 3.重新启动IntelliJ
4.单击Gradle工具窗口中的刷新图标(重复)
5.阅读Gradle用户指南中所有关于传递依赖性的内容 6.反复饮茶(

以上都不是。

我期待的是什么
我期待fabsearch-common依赖项(fabsearch-api jars)也应该包含在data-structure-fabsearch依赖树中。所有对数据结构 - fabsearch中的fabsearch-api类的引用都应该解决等等。

我的问题[s]
虽然这在Maven中是可能的,但在Gradle中是否可行? 我该怎么办才能让它发挥作用? 你可以在没有死亡的情况下睡多少?

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

原来问题根本没有问题。问题是IntelliJ。

它的内裤得到了适当的扭曲!

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

相关问题