使用Gradle在Kotlin上定位JVM 1.8非常简单
compileKotlin {
kotlinOptions {
jvmTarget = "1.8"
}
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我只是改变jvmTargetto 9或者,那对Java 9不起作用1.9.我该怎么做?
Kotlin当前仅针对Java 6和8
在此处查看常见问题解答https://kotlinlang.org/docs/reference/faq.html#does-kotlin-only-target-java-6
此刻说
Kotlin是否仅针对Java 6?不可以。Kotlin允许您在生成Java 6和Java 8兼容字节码之间进行选择。对于平台的更高版本,可能会生成更多的最佳字节码。
编辑:
所以...因为这是kotlin生成的字节码的兼容性,并不意味着就可以修复您需要使用的Java版本。
这是一个gradle文件,可让您结合使用Java 11和kotlin生成Java 8兼容字节码
plugins {
id 'java'
id 'org.jetbrains.kotlin.jvm' version '1.2.71'
}
group 'com.dambra.paul.string-calculator'
version '0.0.0'
sourceCompatibility = 11.0
repositories {
mavenCentral()
}
dependencies {
testImplementation(
'org.junit.jupiter:junit-jupiter-api:5.1.0'
)
testRuntimeOnly(
'org.junit.jupiter:junit-jupiter-engine:5.1.0'
)
testCompile("org.assertj:assertj-core:3.11.1")
testCompile 'org.junit.jupiter:junit-jupiter-params:5.1.0'
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
}
compileKotlin {
kotlinOptions {
jvmTarget = "1.8"
}
}
compileTestKotlin {
kotlinOptions {
jvmTarget = "1.8"
}
}
Run Code Online (Sandbox Code Playgroud)
您不能使用Kotlin来“定位jvm 9”。但是,您可以将Kotlin与Java一起编写(9 | 10 | 11 | etc)
小智 5
有关属性的可能值,请参阅Kotlin“使用 Gradle”参考“JVM 特定的属性” jvmTarget:
姓名:
jvmTarget说明:生成的 JVM 字节码的目标版本(1.6、1.8、9、10、11 或 12),默认为 1.6
可能的值:“1.6”、“1.8”、“9”、“10”、“11”、“12”
默认值:“1.6”
复制于 2019/10/01
| 归档时间: |
|
| 查看次数: |
3694 次 |
| 最近记录: |