当前位置: 首页 > 知识库问答 >
问题:

静态编程语言是否支持Java11?

赫连子石
2023-03-14

我正在尝试使用柯特林 V1.2.70、Gradle V4.10.1 和 Java 11。使用 gradle 编译项目时,出现错误,指出“未知的 JVM 目标版本:11。支持的版本:1.6,1.8“。

Kotlin 编译器是否支持 Java 11(生成与 Java 11 JVM 兼容的代码)?如果是这样,如何使用渐变配置?

共有3个答案

梁承恩
2023-03-14

从Kotlin 1.4开始,它支持Java 1.6(默认)、< code>1.8 、< code>9 、< code>10 、< code>11 、< code>12 、< code>13和< code>14

-jvm目标指定生成的jvm字节码的目标版本。可能的值是1.6、1.8、9、10、11、12、13和14。默认值为1.6。

https://kotlinlang.org/docs/reference/compiler-reference.html#-jvm-target-version

是的,它完全支持 Java 11。

魏景龙
2023-03-14

当目标版本设置为1.6或1.8时,静态编程语言编译器生成的字节码与JVM 11完全兼容。

林星华
2023-03-14

自静态编程语言1.3.30(变更日志)以来,静态编程语言编译器支持JVM 9、10、11和12字节码版本作为目标。

在1.3.30之前,仅支持JVM 1.6和1.8字节码版本作为目标。由于您使用了1.2.70,因此将JVM 11字节码指定为目标会导致您提到的错误。

有两种解决方案:

> < li>

指定1.8作为JVM目标字节码版本。正如@yole在回答中所说,这是完全兼容JVM 11的。事实上,正如Kotlin 1.3.30的changelog中提到的,更新的JVM目标字节码版本目前没有添加任何超出1.8中支持的字节码优化,所以现在真的没有任何区别。

升级到Kotlin 1.3.30(或更新版本),然后可以保留11作为JVM字节码目标值。优点是,在未来版本的Kotlin编译器中,您将自动受益于额外的字节码优化。

 类似资料:
  • 静态编程语言是否支持已命名的regex组? 命名的regex组看起来像这样:

  • 我试图用OkHttp和Cucumber在静态编程语言中设置一个Spring启动项目,并且在运行Cucumber任务时遇到以下错误。如何修复? 还有build gradle kts片段 我看到了这个错误https://github.com/square/okio/issues/647看起来可能是它,并修复了这个build.gradle,我如何将其翻译为kotlinbuild.gradle.kts?

  • 只是想确认Salesforce Apex是否不支持Java和其他语言等参数? 例如: 在Java中,这是一个带有参数的简单函数。而且,Salesforce Apex不支持这种语法。我说得对吗? Salesforce可以将参数从Javascript或Visualforce页面传递到Apex,但是,我从来没有在Apex语言的函数/类中看到参数,所以我只想确定一下。如果Salesforce有函数和参数,

  • 如图所示,https://stackoverflow.com/a/16639438/8949356,在Java中,当声明的类是公共类时,可以重写其函数 但是我想知道如何用静态编程语言编写完全相同的代码,我已经尝试了很多,但没有找到任何关于这个主题的东西。我可以在Java中去做这件事,但我的其余代码是用静态编程语言编写的,而且我不能一直带着这种怀疑;静态编程语言对我来说是一个很好的工具,我想学习它。

  • 我喜欢这种Swift语法;它对很多事情都很有帮助: 我很想在科特林做这件事。但是,我找不到合适的语法! 科特林有这样的事吗?

  • 我有一个Android项目在静态编程语言,它是正确设置和工作 在根build.gradle 应用内构建。格拉德尔 所有工作良好。 根据https://github.com/google/protobuf-gradle-plugin,它也有原型支持 在应用程序build.gradle它有 唯一的问题是,当访问Protobuf的代码生成代码时,即com中的代码。elyeproj公司。原型* ,是Jav