2012-03-20 6 views
0
task test(type: Test, overwrite: true, dependsOn: [setupUser]) { 
    maxHeapSize "3000m" 
    allJvmArgs "-Xmx3000m" 
} 

Ошибка:Gradle - не позволит установить maxHeapSize?

* What went wrong: 
A problem occurred evaluating root project 'myproject'. 
> Could not find method allJvmArgs() for arguments [-Xmx3000m] on root project 'myproject'. 

Независимо от того, что я стараюсь, я получаю вопросы кучи, когда я бегу gradle test. Я использую 1.0-milestone-9

ответ

5

Вторая строка (allJvmArgs "-Xmx3000m") - это неправильный синтаксис, объясняющий, почему Gradle жалуется. Первая строка (maxHeapSize "3000m") в порядке, и я был бы удивлен, если бы она не сработала. "3000m" может быть слишком высоким, но может привести к ошибке при создании JVM. В любом случае, найдите следующий отладочный вывод (-d):

[DEBUG] [org.gradle.process.internal.ProcessBuilderFactory] creating process builder for Gradle Worker 1 
[DEBUG] [org.gradle.process.internal.ProcessBuilderFactory] in directory /xxx 
[DEBUG] [org.gradle.process.internal.ProcessBuilderFactory] with argument#0 = -Xmx300m 
... 
[DEBUG] [org.gradle.process.internal.DefaultExecHandle] Started Gradle Worker 1. 
+0

Я попробую опустить требуемую память. Из этой статьи, однако, похоже, что синтаксис верен. http://gradle.org/docs/current/dsl/org.gradle.api.tasks.testing.Test.html –

+0

Синтаксис будет правильным для 'jvmArgs', но не для' allJvmArgs'. Последний редко используется напрямую и, следовательно, не предлагает таких же удобных методов. Я не вижу неправильного синтаксиса, используемого в любом месте на странице, с которой вы связаны. Во всяком случае, правильный подход к решению вашей проблемы - 'maxHeapSize'. Как показано выше, легко убедиться, что параметры памяти перенаправлены правильно. –

Смежные вопросы