如何在Kotlin Native中导入Java包

时间:2017-06-30 17:29:48

标签: java kotlin

我试图导入Java包以供Kotlin native使用,如下所示;

/* main.kt */
import java.util.*

fun main(args: Array<String>) {
    print("Simple program")
}

并使用以下命令

进行编译
kotlinc main.kt -o main

我收到了错误消息

main.kt:2:8: error: unresolved reference: java
import java.util.*
显然我需要显示kotlinc在哪里找到java.util,如何在不使用命令行的情况下实现这一点?我在Windows 10 64位上使用Kotlin native 0.3。

2 个答案:

答案 0 :(得分:15)

您将无法访问Kotlin Native中的Java包。这个项目的重点是在没有VM的情况下运行Kotlin代码,因此您没有要使用的Java虚拟机(或库)。但是,您可以使用本机C库。您可以找到有关其工作原理的信息here

来自Kotlin / Native的第一个预览的announcement post

  

请注意,我们不打算在Kotlin / Native或Kotlin / JS上运行任意Kotlin / JVM程序。它等同于实现另一个JVM,这对于运行时来说既有很多工作也有很多限制。我们采用另一种方式:为所有平台提供通用语言,同时通过与平台代码的无缝互操作性实现公共库的创建。

答案 1 :(得分:1)

由于我们实际上无法将 JVM-Libs 添加到 Kotlin/Native,正如 zsmb13 已经解释的那样,我想指出 GraalVM(对于那些到达这里但还不了解它的人)。

https://www.graalvm.org/examples/java-kotlin-aot/

他们的方法允许在 Kotlin 中使用 java-libs,因为它将所需的 lib- 和 JVM-类编译到本机可执行文件中。