我可以在普通 java 项目中使用使用 Kotlin 协程构建的库吗?

Can I use a library built with Kotlin coroutines in plain java project?

我计划构建一个库,该库使用 Kotlin 协程通过 retrofit2 对 REST 服务进行 HTTP 调用。 最终输出的 jar 将包含所有改造和 Kotlin 协程依赖项,我们可以在普通 java 项目中使用这个最终的 jar 吗?

是的。你可以。您可能希望界面采用 java 指南,但没有技术限制阻止它。

您的库可以在内部使用协程,但您不能向 Java 客户端公开任何 suspend fun。从 Java 调用 suspend fun 几乎是不可能的,因为它的签名指的是内部 类.

向 Java 公开非阻塞 Kotlin 代码的推荐方法是通过 CompletableFuture,使用 kotlinx-coroutines-jdk8 模块。