java - 来自模块的 Gradle 传递依赖

标签 java intellij-idea gradle build-dependencies

免责声明:
我是 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/

相关文章:

java - 从 ArrayList 中删除重复值

java - JTable单元格编辑可以消耗按键吗?

java - 下拉功能在 selenium webdriver 中不起作用

java - 如何在java中运行MySQL脚本?

java - 带有 Spring MVC 4.0.1.RELEASE 的 Spring Security 3.2

java - 在使用 Java 8 重新协商 TLS_1.2 期间,服务器证书更改受到限制

java - 如何使用Spring+Hibernate查询join表

spring-boot - 列出 BOM 贡献给 gradle 5 的所有属性

github - 无法在 Jitpack 上发布 : Execution failed for task ':install'

java - Spring Boot应用程序找不到webjar文件