настройки gradle.properties не учитываются - PullRequest
0 голосов
/ 26 апреля 2019

Как стартер в Gradle, я конвертирую проект из Maven в Gradle.При выполнении тестов я получаю OutOfMemoryError: Java heap space.Если я добавлю

tasks.withType(Test) {
    jvmArgs = ['-Xmx2g']
}

к build.gradle, то это сработает.Однако, если это настроено только в gradle.properties как org.gradle.jvmargs=-Xmx2g, это не так.

То же самое для кодировки.Существует один тест, который успешно выполняется, только если установлено значение GRADLE_OPTS=-Dfile.encoding=UTF-8.Но если я установлю systemProp.file.encoding=UTF-8 в gradle.properties, это не так.

Почему это так?

1 Ответ

0 голосов
/ 26 апреля 2019

Ответ описан в документации Gradle DSL для задачи Test .

Тест всегда выполняется в (одной или нескольких) отдельных JVM.

Независимо от того, что вы конфигурируете в gradle.properties, переменная среды применяется только к процессу Gradle JVM.

Максимальный размер кучи настраивается так же, как вы сделали через jvmArgs или, предпочтительно, через maxHeapSize .

Что касается кодировки файлов & GRADLE_OPTS, у меня нет однозначного ответа.Мое лучшее предположение, что это просто не было реализовано таким образом.Вы можете установить кодировку файлов для каждого проекта для таких задач компиляции, как это:

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

От: Gradle Goodness: установить кодировку компилятора Java

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...