我尝试在gradle
中使用3个模块构建项目,其中:
1)module1
- 具有expect
类的通用模块
empty build.gradle dependencies
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
个类?
答案 0 :(得分:2)
目前,不支持使用来自多个通用模块的通用声明,但计划在将来版本中使用。
特别是,一旦KT-22864的修补程序发布,它就会允许您将module1
和module2
expectedBy
依赖项添加到module3
。目前没有修复的公开预览版本,请继续关注1.2.40 EAP。
如果您真的想尽早尝试,可以使用开发构建(例如1.2.40-dev-754
Maven存储库中的https://dl.bintray.com/kotlin/kotlin-dev
。
您还可以尝试开发IDE插件(来自here),以便IDE导入并正确分析多个expectedBy
依赖项(1.2.30只能导入一个这样的依赖项) )。
答案 1 :(得分:0)
为此,它需要有多个expectedBy
声明,现在禁止使用。{p}。但是,正如kotlin松弛所说,很快就会有可能。
所以,现在,需要切换到kotlin的1.2.40-dev-754
版本,然后可以在{{1}中的build.gradle中为第二个expectedBy
添加依赖项}。:
module3
expectedBy project(':module1')