将 Kotlin 扩展方法添加到纯 Java 库

Adding Kotlin extension methods to a pure Java library

我正在开发一个纯 Java 库并想添加一些 Kotlin 特定的扩展方法。 有没有办法将这些扩展方法添加到已经存在的纯 Java JAR 中,或者我是否被迫创建一个必须单独发布的新的 Kotlin 特定模块?如果是这样,Java 用户会以何种方式看到它们?

我不介意使用 Kotlin 编译器编译我的库,如果这样可以避免仅仅为 3 行代码发布单独的 JAR。

我需要这些扩展方法来解决 Java 和 Kotlin 之间的类型推断/方法引用解析差异。

扩展方法被编译为静态 Java 方法,例如从 app.kt 到 class AppKt,即它们可用于 Java 作为使用 AppKt.method()as explained in the documentation.

很好

您的 Java 代码和 Kotlin 代码都编译为 Java 字节码 class 文件,并且可以放入同一个 jar 中,即无需运送多个 jar。我选择的用于构建 Kotlin/Java 代码的个人构建系统是 Gradle,但这取决于您。