Показать текст UTF-8 правильно в Gradle

у меня есть задача:

task info<<{
    println "Gradle — система автоматической сборки, построенная на принципах Apache Ant и Apache Maven, но предоставляющая DSL на языке Groovy вместо традиционной XML-образной формы представления конфигурации проекта."
}

когда я использую commadn

gradle info -Dfile.encoding=UTF-8

текст отображается неправильно. Как это исправить? Спасибо.

4 ответов


на file.encoding системное свойство должно быть установлено правильно, когда запускается JVM, выполняющий сборку Gradle (например, Демон Gradle). Один из способов добиться этого-с помощью export GRADLE_OPTS="-Dfile.encoding=utf-8". Другой способ, который может работать, - добавить systemProp.file.encoding=utf-8 to gradle.properties. Конечно, это предполагает, что файлы сценариев сборки фактически используют кодировку utf-8. Чтобы узнать, какова кодировка по умолчанию вашей платформы (и, следовательно, Gradle), распечатайте значение системного свойства в скрипте сборки.


Я использую следующие настройки в build.gradle и его работа отлично для меня:

compileJava.options.encoding = 'UTF-8'

tasks.withType(JavaCompile) {
    options.encoding = 'UTF-8'
}

в gradle.свойства

org.gradle.jvmargs='-Dfile.encoding=UTF-8'

For my работает только с этим в build.Gradle в:

apply plugin: 'java'
tasks.withType(JavaCompile) {
    options.encoding = 'UTF-8'
}
repositories {
    mavenCentral()
}
....
test {
    systemProperty "file.encoding", "utf-8"
}