我可以在普通 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
模块。
我计划构建一个库,该库使用 Kotlin 协程通过 retrofit2 对 REST 服务进行 HTTP 调用。 最终输出的 jar 将包含所有改造和 Kotlin 协程依赖项,我们可以在普通 java 项目中使用这个最终的 jar 吗?
是的。你可以。您可能希望界面采用 java 指南,但没有技术限制阻止它。
您的库可以在内部使用协程,但您不能向 Java 客户端公开任何 suspend fun
。从 Java 调用 suspend fun
几乎是不可能的,因为它的签名指的是内部 类.
向 Java 公开非阻塞 Kotlin 代码的推荐方法是通过 CompletableFuture
,使用 kotlinx-coroutines-jdk8
模块。