声明: 我是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中是否可行?
我该怎么办才能让它发挥作用?
你可以在没有死亡的情况下睡多少?
非常感谢您的帮助。
答案 0 :(得分:0)
原来问题根本没有问题。问题是IntelliJ。
它的内裤得到了适当的扭曲!
<强>解决方案:强>
1.在IntelliJ中关闭项目
2.删除.idea目录
3.删除所有.iml文件和任何其他IntelliJ cra-useful文件
4.在IntelliJ中打开项目,选择相同的目录。问题消失了。