ฉันมีโครงการ gradle ที่ง่ายที่สุดที่กำหนดค่าโดยใช้ intellij สำหรับ kotlin 1.2.10 นี่คือไฟล์ build.gradle ของฉัน:
buildscript {
ext.kotlin_version = '1.2.10'
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
group 'com.ali'
version '1.0-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'kotlin'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
testCompile group: 'junit', name: 'junit', version: '4.12'
}
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
และฉันมีอินเทอร์เฟซ java ที่เรียบง่าย:
public interface MyMath {
static int myAbs(int input) {
return Math.abs(input);
}
}
เมื่อฉันนำเข้าอินเทอร์เฟซนี้และพยายามเรียกmyAbs
เมธอดมันล้มเหลวด้วยข้อผิดพลาดนี้:
Error:(6, 12) Kotlin: Calls to static methods in Java interfaces are prohibited in JVM target 1.6. Recompile with '-jvm-target 1.8'
ฉันได้สร้างแอป intellij kotlin และทำงานได้อย่างถูกต้อง เป็นบั๊กในปลั๊กอินใหม่ของ Kotlin gradle หรือไม่?