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