2014-10-01 41 views
0

我有一個grails應用程序2.4.1 grails版本,並使用2.3 groovy編譯器。grails groovy版本問題

我收到以下錯誤,當我嘗試運行附帶的Groovy 2.3.3

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) 

回答

0

的Grails 2.4.1,這是的Groovy與Grails的版本支持的唯一版本。通常,您不會做任何事情來將Groovy版本與Grails版本相關聯。 Grails使用它隨附的版本。

確保您的GRAILS_HOME指向Grails 2.4.1,並且GRAILS_HOME/bin位於PATH中。如果PATH中的Grails版本與GRAILS_HOME指向的版本不同,有時會導致特殊行爲。

我希望有幫助。