Показать текст 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"
}