我的常规版本是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)
答案 0 :(得分:1)
我太傻了。我把这个名字命名为数字。