2

我尝试gradle使用 3 个模块构建项目,其中:
1) module1- 具有expect
空 build.gradle 依赖项
的通用模块 2) module2- 具有expect类和来自模块 1 的依赖项的通用模块:
build.gradle 依赖项:compile project(':module1')
2) module3- jvm 平台模块
build.gradle 依赖:expectedBy project(':module2')

当我尝试编译一个项目时,它在编译阶段出现错误module3,即来自的类module2无法找到来自.的类module1

Kotlin 1.2.30
Gradle 4.6
Java 1.8_161

是否可以在一个项目中同时使用多个通用模块?
是否有可能expect在每个公共模块中都有类?

4

2 回答 2

2

目前,不支持使用来自多个通用模块的通用声明,但计划在未来版本中使用。

特别是,一旦发布了KT-22864的修复程序,它将允许您将module1module2作为expectedBy依赖项添加到module3. 目前没有带有修复的公共预览版本,请继续关注 1.2.40 EAP。


如果你真的想早点尝试,你可以使用开发版本(例如1.2.40-dev-754来自https://dl.bintray.com/kotlin/kotlin-devMaven 存储库)。

您还可以尝试 IDE 插件的开发版本(从此处)以使 IDE 导入并expectedBy正确分析多个依赖项(1.2.30 只能导入一个这样的依赖项)。

于 2018-03-10T14:02:03.727 回答
0

为此,它需要有多个expectedBy声明,目前是禁止的。但是,正如在 kotlin slack 中所说,它很快就会成为可能。

因此,目前需要切换到1.2.40-dev-754kotlin 的版本,然后可以expectedBy在 build.gradle 中添加第二个依赖项module3
expectedBy project(':module1')
expectedBy project(':module2')

于 2018-03-10T13:59:05.553 回答