在groovy中使用param调用方法时发生

时间:2013-09-29 10:42:00

标签: groovy

我的常规版本是2.1.7

这是我的代码:

def repeat(val){
    for(i = 0; i < 5; i++){
        println val;
    }
}
repeat("Hello World")

当我运行它时,抛出一些异常。它只发生在我用param调用给定的方法时。如果它是一个没有参数的方法,一切都会好的。

  

异常抛出九月29,2013 5:38:49下午   org.codehaus.groovy.runtime.StackTraceUtils sanitize

     

警告:清理堆栈跟踪:

     

java.lang.ClassFormatError:类中的非法类名“2 $ repeat”   file 2 $ repeat

     

at java.lang.ClassLoader.defineClass1(Native Method)

     

at java.lang.ClassLoader.defineClass(ClassLoader.java:791)

     

在   org.codehaus.groovy.reflection.ClassLoaderForClassArtifacts.define(ClassLoaderForClassArtifacts.java:42)

     

在   org.codehaus.groovy.reflection.ClassLoaderForClassArtifacts $ 1.run(ClassLoaderForClassArtifacts.java:86)

     

在   org.codehaus.groovy.reflection.ClassLoaderForClassArtifacts $ 1.run(ClassLoaderForClassArtifacts.java:84)

     

at java.security.AccessController.doPrivileged(Native Method)

     

在   org.codehaus.groovy.reflection.ClassLoaderForClassArtifacts.defineClassAndGetConstructor(ClassLoaderForClassArtifacts.java:84)

     

在   org.codehaus.groovy.runtime.callsite.CallSiteGenerator.compilePogoMethod(CallSiteGenerator.java:217)

     

在   org.codehaus.groovy.reflection.CachedMethod.createPogoMetaMethodSite(CachedMethod.java:228)

     

在   org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.createCachedMethodSite(PogoMetaMethodSite.java:212)

     

在   org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.createPogoMetaMethodSite(PogoMetaMethodSite.java:188)

     

在   groovy.lang.MetaClassImpl.createPogoCallCurrentSite(MetaClassImpl.java:3121)

     

在   org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallCurrentSite(CallSiteArray.java:108)

     

在   org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49)

     

在   org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)

     

在   org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)

     

at 2.run(2.groovy:6)

1 个答案:

答案 0 :(得分:1)

我太傻了。我把这个名字命名为数字。