13
當使用搖籃構建Java或Groovy,它可以定義這樣的信源編碼:如何在Gradle中設置Kotlin源代碼?
compileJava {
options.encoding = 'UTF-8'
}
compileTestJava {
options.encoding = 'UTF-8'
}
compileGroovy {
groovyOptions.encoding = 'UTF-8'
}
compileTestGroovy {
groovyOptions.encoding = 'UTF-8'
}
然而,科特林類似的方法行不通:
compileKotlin {
kotlinOptions.jvmTarget = '1.8'
kotlinOptions.encoding = 'UTF-8'
}
它失敗,出現錯誤:
* What went wrong:
A problem occurred evaluating root project 'backend'.
> No such property: encoding for class: org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptionsImpl
我實際上找不到關於Kotlin編譯器編碼的任何信息。這是否意味着沒有這種選擇?它使用什麼字符集呢,UTF-8,系統默認(我不希望)?
我很確定它總是UTF-8,雖然我找不到它記錄。 – ephemient
'這是否意味着沒有這樣的選擇?' - 在檢查源代碼後,我可以告訴你:不。沒有這樣的選擇。你可以檢查插件的DSL [這裏](https://github.com/JetBrains/kotlin/tree/master/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/ gradle這個/ DSL)。特別是'KotlinJvmOptions *'對你有什麼感興趣,什麼不是。不幸的是,我不能說你使用哪種默認編碼... – StefMa
我發現這條語句「所有Kotlin源文件使用UTF-8字符編碼」,位於https://medium.com/@napperley/unofficial-kotlin-style -guide-a44cb899a84f。但它似乎是最佳實踐。我猜如果UTF-8工作和其他編碼不行,並且沒有辦法指定實際的編碼,那麼你就堅持使用UTF-8。 – Xvolks