Java Kotlin与JDK 10

Java Kotlin与JDK 10,java,intellij-idea,kotlin,java-10,Java,Intellij Idea,Kotlin,Java 10,最近我将我的JDK更新为JDK10,现在Kotlin出现配置问题,我无法运行我的代码。这是因为JDK10还是其他原因 我在创建Kotlin项目时从InteliJ得到的提示: Configure Kotlin Added /Applications/IntelliJ IDEA CE.app/Contents/plugins/Kotlin/kotlinc/lib/kotlin-stdlib-jdk7.jar to library configuration Added

最近我将我的JDK更新为JDK10,现在Kotlin出现配置问题,我无法运行我的代码。这是因为JDK10还是其他原因

我在创建Kotlin项目时从InteliJ得到的提示:

Configure Kotlin
        Added /Applications/IntelliJ IDEA CE.app/Contents/plugins/Kotlin/kotlinc/lib/kotlin-stdlib-jdk7.jar to library configuration
        Added /Applications/IntelliJ IDEA CE.app/Contents/plugins/Kotlin/kotlinc/lib/kotlin-stdlib-jdk7-sources.jar to library configuration
        Added /Applications/IntelliJ IDEA CE.app/Contents/plugins/Kotlin/kotlinc/lib/kotlin-stdlib-jdk8.jar to library configuration
        Added /Applications/IntelliJ IDEA CE.app/Contents/plugins/Kotlin/kotlinc/lib/kotlin-stdlib-jdk8-sources.jar to library configuration
在撰写本文时(2018年9月),Kotlin的编译器不支持默认生成Java 9+字节码

参数
-jvm目标9
()应使Kotlin编译器生成53版的字节码

因为Java10是字节码版本54,所以我不确定它是如何工作的

仍然:

  • 您可以编译成JVM8字节码,该字节码可以在JVM9+上正常执行

  • 如果您想定义模块(或使用需要整个程序模块化的模块),您可以在今天的java中编写
    module info.java
    文件,并将其放在与Kotlin文件相同的源根目录中

    • Kotlin编译器将正确限制依赖模块中非导出包中声明的可访问性
    • 目前,没有计划在Kotlin中支持模块定义
除此之外,大多数Java 9-11语言功能(var、REPL、streams改进等)在Kotlin中已经存在了一段时间,因此使用Java 9-11的主要直接好处是使用JVM进行优化,或者在撰写本文时使用模块system/jlink(如上文所述)

(2018年9月)默认情况下,Kotlin的编译器不支持生成Java 9+字节码

参数
-jvm目标9
()应使Kotlin编译器生成53版的字节码

因为Java10是字节码版本54,所以我不确定它是如何工作的

仍然:

  • 您可以编译成JVM8字节码,该字节码可以在JVM9+上正常执行

  • 如果您想定义模块(或使用需要整个程序模块化的模块),您可以在今天的java中编写
    module info.java
    文件,并将其放在与Kotlin文件相同的源根目录中

    • Kotlin编译器将正确限制依赖模块中非导出包中声明的可访问性
    • 目前,没有计划在Kotlin中支持模块定义

除此之外,大多数Java 9-11语言特性(var、REPL、streams改进等)在Kotlin中已经存在了一段时间,因此使用Java 9-11的主要直接好处是使用JVM进行优化,或者使用模块system/jlink(如上文所述)从Kotlin开始,现在支持JVM字节码目标9、10、11、12。(-ticket,LppEdd提到了-get包括在内。)

从Kotlin开始,现在支持JVM字节码目标9、10、11、12。(-LppEdd提到的票-包括在内。)

可能是jdk9+模块的问题。您遇到了什么配置问题?您发布的内容看起来不是问题,只是信息可能是jdk9+模块的问题。您遇到了什么配置问题?您发布的内容看起来并不是问题,只是信息我想补充一点,目前有一个开放的问题,就是让Kotlin编译器生成.class文件,其版本号仅等于已建立的目标。这并不意味着它将为该特定版本使用优化的字节码。@LppEdd-您可以添加一个链接吗?我想补充的是,目前存在一个问题,即允许Kotlin编译器生成.class文件,其版本号仅等于已建立的目标。这并不意味着它将为该特定版本使用优化的字节码。@LppEdd-可以添加链接吗?