无法打包 Grails 3 应用程序 - NoSuchMethodError
Cannot package Grails 3 application - NoSuchMethodError
我正在尝试打包我的 Grails 3.1.5 应用程序。
运行 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.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.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; gradle war
在构建下生成一个我可以用于部署的 uber-jar。肯定会为此使用 grails(除非我遗漏了什么)。
我已经通过使用解决了这个问题:
./gradlew clean assemble
这会在 ./build/libs/
中生成 WAR。
这可能是由 Grails 中的错误引起的,如 here 所述。
就我而言,这个错误是在使用较旧的 grails 包装器 (grailsw
) 文件时出现的。解决方案是在我的路径中使用 gradlew
和 Grails CLI,而不是使用旧的 grailsw
.
我正在尝试打包我的 Grails 3.1.5 应用程序。
运行 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.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.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; gradle war
在构建下生成一个我可以用于部署的 uber-jar。肯定会为此使用 grails(除非我遗漏了什么)。
我已经通过使用解决了这个问题:
./gradlew clean assemble
这会在 ./build/libs/
中生成 WAR。
这可能是由 Grails 中的错误引起的,如 here 所述。
就我而言,这个错误是在使用较旧的 grails 包装器 (grailsw
) 文件时出现的。解决方案是在我的路径中使用 gradlew
和 Grails CLI,而不是使用旧的 grailsw
.