ParallelStreams.kts:41:15: error: calls to static methods in Java interfaces are prohibited in JVM target 1.6. Recompile with '-jvm-target 1.8'
IntStream.range(0,10).parallel().forEach{a ->
^
好吧...我不是要为1.6编译。
File > Project Structure > Project
具有项目sdk 1.8
和语言级别8
。
File > Project Structure > Modules > Kotlin
具有目标平台:JVM 1.8
。
File > Project Structure > Facets > Kotlin
具有目标平台:JVM 1.8
。
File > Settings > Compiler > Kotlin Compiler
具有目标jvm版本1.8
。
我的gradle构建文件...
plugins {
id 'org.jetbrains.kotlin.jvm' version '1.3.0'
}
group 'foo'
version '1.0-SNAPSHOT'
repositories {
mavenCentral()
}
dependencies {
//kotlin
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
implementation "org.jetbrains.kotlin:kotlin-script-runtime:1.3.0"
//networking
implementation 'com.mashape.unirest:unirest-java:1.4.9'
}
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
我没地方去检查1.8
。
是的,我 已经 尝试使缓存无效并重新启动Intellij。它无法解决此问题。
答案 0 :(得分:0)
为Java 1.8添加sourceCompatibility
和targetCompatibility
:
plugins {
id 'org.jetbrains.kotlin.jvm' version '1.3.0'
}
group 'foo'
version '1.0-SNAPSHOT'
repositories {
mavenCentral()
}
// Add compatibility
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
dependencies {
//kotlin
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
implementation "org.jetbrains.kotlin:kotlin-script-runtime:1.3.0"
//networking
implementation 'com.mashape.unirest:unirest-java:1.4.9'
}
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
答案 1 :(得分:0)
由于为所有相关配置生成了编译任务,因此仅更改compileKotlin
和compileTestKotlin
可能是不够的。
尝试使用任务过滤来配置所有KotlinCompile
个任务实例:
tasks.withType(KotlinCompile) {
kotlinOptions.jvmTarget = "1.8"
}
答案 2 :(得分:0)
我认为您的问题出在* .kts文件扩展名中。尝试创建一个普通的* .kt Kotlin类。
答案 3 :(得分:0)
使用.kts
只需使用:
tasks {
withType<KotlinCompile> {
kotlinOptions.jvmTarget = "1.8"
}
}
// I am using latest dsl and gradle
val kotlinVersion = "1.3.30"
val gradleVersion = "5.4+"