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

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

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

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

gradle info -Dfile.encoding=UTF-8

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

Ответ 1

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

Ответ 2

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

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

Ответ 3

В gradle.properties

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

Ответ 4

Только для моих работ в build.gradle:

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