首页 > 解决方案 > 具有共享模块的多平台项目

问题描述

我正在尝试创建一个具有共享依赖项的多平台项目,但我无法找出我做错了什么。

背景是我想创建一个生成某种配置的库,并将该配置用于应该在 jvm 和 node.js 上运行的运行时库。因此可以共享配置数据类,我想将其放入共享模块中。该代码根本不是特定于平台的。配置生成(我称之为 CLI)应该只是 jvm。所以我有这个模块(带有插件名称):

我通过 将共享模块设置为依赖compile project(":shared")项,但似乎没有一个共享类位于从运行时开始的模块的类路径中。

这还不可能还是我做错了什么?

标签: kotlinkotlin-multiplatform

解决方案


要将通用模块(即使用 构建的模块kotlin-platform-common)与其特定于平台的实现连接起来,您应该为它们提供expectedBy project(':shared')依赖关系而不是依赖关系compile

您可以在Kotlin 参考或一些可用的示例项目中找到示例构建脚本,例如此处


推荐阅读