grails groovy版本问题

时间:2014-10-01 10:04:55

标签: eclipse grails groovy nosuchmethoderror

我有一个带有2.4.1 grails版本的grails应用程序,并使用了2.3 groovy编译器。

我尝试运行

时出现以下错误
java.lang.NoSuchMethodError: org.codehaus.groovy.runtime.DefaultGroovyMethods.count(Ljava/lang/Iterable;Lgroovy/lang/Closure;)Ljava/lang/Number;
    at org.codehaus.groovy.grails.compiler.web.ControllerActionTransformer.processMethods(ControllerActionTransformer.java:234)
    at org.codehaus.groovy.grails.compiler.web.ControllerActionTransformer.performInjectionOnAnnotatedClass(ControllerActionTransformer.java:204)
    at org.codehaus.groovy.grails.compiler.web.ControllerActionTransformer.performInjection(ControllerActionTransformer.java:196)
    at org.codehaus.groovy.grails.compiler.injection.GrailsAwareInjectionOperation.call(GrailsAwareInjectionOperation.java:154)
    at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1213)
    at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:645)
    at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:623)
    at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:600)
    at org.codehaus.jdt.groovy.internal.compiler.ast.GroovyCompilationUnitDeclaration.processToPhase(GroovyCompilationUnitDeclaration.java:185)
    at org.codehaus.jdt.groovy.internal.compiler.ast.GroovyCompilationUnitDeclaration.analyseCode(GroovyCompilationUnitDeclaration.java:2213)
    at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:834)
    at org.eclipse.jdt.internal.compiler.ProcessTaskManager.run(ProcessTaskManager.java:137)
    at java.lang.Thread.run(Thread.java:701)

1 个答案:

答案 0 :(得分:0)

Grails 2.4.1随Groovy 2.3.3一起提供,这是该版Grails支持的唯一Groovy版本。通常,您不会做任何事情来将Groovy版本与Grails版本相关联。 Grails使用随附的版本。

确保您的GRAILS_HOME指向Grails 2.4.1并且GRAILS_HOME / bin位于您的PATH上。如果PATH上的Grails版本与GRAILS_HOME指向的版本不同,则有时会导致特殊行为。

我希望有所帮助。