0

我的 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)

4

1 回答 1

1

我太愚蠢了。我将这个类命名为以数字开头。

于 2013-10-01T02:42:32.307 回答