2016-05-02 3 views
2

Я пытаюсь упаковать приложение Grails 3.1.5.Не удается упаковать приложение Grails 3 - NoSuchMethodError

Запуск grails package (или grails war) результаты в следующем:

FAILURE: Build failed with an exception. 

* What went wrong: 
org.codehaus.groovy.runtime.DefaultGroovyMethods.each(Ljava/util/List;Lgroovy/lang/Closure;)Ljava/util/List; 

* Try: 
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. 

BUILD FAILED 

Total time: 2.205 secs 
| Error Command [package] error: Could not execute build using Gradle distribution 'https://services.gradle.org/distributions/gradle-2.6-bin.zip'. (Use --stacktrace to see the full trace) 

Бег с --stacktrace дает:

Caused by: java.lang.NoSuchMethodError: org.codehaus.groovy.runtime.DefaultGroovyMethods.each(Ljava/util/List;Lgroovy/lang/Closure;)Ljava/util/List; 
     at asset.pipeline.gradle.AssetCompile.getSource(AssetCompile.groovy:188) 
     at asset.pipeline.gradle.AssetCompile_Decorated.getSource(Unknown Source) 
     at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75) 
     at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$PropertyInfo$4.create(AnnotationProcessingTaskFactory.java:460) 
     at org.gradle.util.SingleMessageLogger.whileDisabled(SingleMessageLogger.java:166) 
     at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$PropertyInfo.getValue(AnnotationProcessingTaskFactory.java:458) 
     at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$Validator$1.call(AnnotationProcessingTaskFactory.java:262) 

Мои версии являются:

| Grails Version: 3.1.5 
| Groovy Version: 2.4.6 
| JVM Version: 1.8.0_91 

Я удалили .gradle папка кеша, запустите grails clean, но не повезло.

Редактировать: Мое текущее решение - использовать градлу для построения войны; gradle war создает сборку uber-jar под сборкой, которую я могу использовать для развертывания. Было бы неплохо использовать grails для этого (если я не пропущу что-то).

+0

Непонятно, что происходит не так, но я ожидаю, что у вас неправильная версия чего-то в миксе. Сообщение об ошибке указывает, что используется Gradle 2.6. Недавно созданное приложение Grails 3.1.5 должно использовать Gradle 2.9. Я бы расследовал это и посмотрел, действительно ли это актуально. –

+0

Последняя версия Gradle, которую я могу найти, - 2.13; почему и как бы Grails использовал Gradle 2.9? –

+0

«Как бы Grails использовал Gradle 2,9?» - См. Https://github.com/grails/grails-profile-repository/blob/29bccd9bc76f1f9d844022401da46e1ee37d3be1/profiles/base/skeleton/gradle.properties#L2 и https://github.com/grails/grails-profile-repository/ блоб/29bccd9bc76f1f9d844022401da46e1ee37d3be1/профили/основание/каркас/Gradle/обертку/gradle-wrapper.properties # L6. Они настраивают версию Gradle, которая будет задействована при использовании 'gradlew'. –

ответ

0

Я работал вокруг этого с помощью:

./gradlew clean assemble 

Это производит WAR в ./build/libs/.

Возможно, это вызвано ошибкой в ​​Grails, как обсуждалось here.

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