在 Gradle 中:将 Scala 编码设置为 UTF-8

Moh*_*han 5 scala gradle

如果在 Gradle 中编译 Java,您可以通过设置编码

compileJava.options.encoding = 'UTF-8'
Run Code Online (Sandbox Code Playgroud)

我无法让它与 Scala 一起工作;我已经尝试了所有这些:

compileJava.options.encoding = 'UTF-8'

compileScala.options.encoding = 'UTF-8'

compileScala {
    scalaCompileOptions.encoding = 'utf-8'
}

compileScala {
    scalaCompileOptions.additionalParameters = ["-encoding UTF-8"]
}
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激。

编辑:关闭,因为这是我的测试方法有问题。我本来就JAVA_TOOL_OPTIONS -Dfile.encoding=UTF8定的;我试图通过在 Gradle 文件中设置编码来替换它。

为了测试,我试图打印出一个 Unicode 字符,但在删除 envvar 并尝试上述选项后,它没有正确打印。原因是这JAVA_TOOL_OPTIONS -Dfile.encoding=UTF8不仅会影响输入文件的编码,还会影响System.out. 用

System.setOut(new PrintStream(System.out, true, "UTF-8")) 
Run Code Online (Sandbox Code Playgroud)

修复的东西。以供参考,

compileJava.options.encoding = 'UTF-8'
compileScala {
    scalaCompileOptions.encoding = 'UTF-8'
}
Run Code Online (Sandbox Code Playgroud)

足够。