1

eclipse で単純な groovy プロジェクトをデバッグしようとしています。コードは次のように単純です。

def list = [1, 2, 3, 4, 5]
println list.collect { it + 1 }

そして、それはうまく実行されます。この部分を評価しようとした場合のみ:

list.collect { it + 1 }

表示ビューで(またはエディターで検査します:shift + crl + i)、次のメッセージが表示されます:

list.collect { it + 1 }
    Evaluation failed. Reason(s):
        org.codehaus.groovy.runtime.InvokerInvocationException (id=115)

誰もこの問題を抱えていて、それを修正する方法を知っていますか? ありがとうございます。

STS 2.5.2 (Eclipse 3.6.1r361)、Groovy 1.7.8、jdk1.6.0_24 を使用。Groovy-Eclipse プラグイン 2.1.2.xx.20110218

ところで、sts 2.3.x (Eclipse 3.5.x) を使用していたときには問題は発生しなかったと思います。

4

1 に答える 1

1

表示ビューでクロージャを作成することはできません。代わりに、これを for ループに書き出す必要があります。例えば-

def newList = []
for (elt in list) {
  newList << elt++
}
print newList

内部では、クロージャーはクラス宣言によって表されるため、これは vm の制限です。表示ビューによって生成されたクラスを実行中のアプリケーションに挿入する簡単な方法はありません。

于 2011-02-24T18:54:29.000 に答える