我的 groovy 版本是 2.1.7
这是我的代码:
def repeat(val){
for(i = 0; i < 5; i++){
println val;
}
}
repeat("Hello World")
当我运行它时,会抛出一些异常。它仅在我使用参数调用给定方法时发生。如果是没有参数的方法,一切正常。
Exception throw 2013 九月 29 5:38:49 下午 org.codehaus.groovy.runtime.StackTraceUtils sanitize
警告:清理堆栈跟踪:
java.lang.ClassFormatError:类文件 2$repeat 中的非法类名“2$repeat”
在 java.lang.ClassLoader.defineClass1(本机方法)
在 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)
在 java.security.AccessController.doPrivileged(本机方法)
在 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)
在 2.run(2.groovy:6)