1

次のコード スニペットを Groovyオペレーター内の説明と共に使用しようとしましたが、 VerifyErrorが発生しました。皆さん、何か考えはありますか?

コードとコンソール出力は次のとおりです。

class Hello extends ArrayList {
    boolean isCase(Object val) {
        return val == 66
    }

    static void main(args) {
        def myList = new Hello()
        myList << 55
        assert 66 in myList
        assert !myList.contains(66)
    }
}

エラーログ:

Exception in thread "main" java.lang.VerifyError: (class: Hello, method: super$1$stream signature: ()Ljava/util/stream/Stream;) Illegal use of nonvirtual function call
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:259)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:116)

コードの起源はトピック「Groovy in オペレーターはどのように機能しますか?」からのものです。.

更新

Groovy バージョン: 1.8.6 JVM: 1.6.0_45 ベンダー: Sun Microsystems Inc. OS: Linux

4

1 に答える 1

1

これをチェックしてください。これはJava用ですが、一般的に問題は、間違ったライブラリバージョンを使用していることです。クラスはありますが、予想とは異なるバージョンです。

http://craftingjava.blogspot.co.uk/2012/08/3-reasons-for-javalangverfiyerror.html

おそらく、Groovy または Java SDK のインストールを台無しにしてしまったのでしょう。

于 2014-07-23T17:06:02.507 に答える