環境:Windows7 32bit
Groovyバージョン:2.0
Eclipseバージョン:Indigo
Groovy-Eclipseバージョン:2.7.2
プログラミングGROOVYを読んで、JDBCアクセスが簡単そうだったので、試して見ようと思った。
スペルミスとかで悩むのが面倒なので、EclipseにGroovy-Eclipseを入れて、Eclipse上で実行しようとしたら、ソース上に@GrabCoig(systemClassLoader=true)と書いた所で、コンパイルエラーが発生。
その状態で、Eclipse上からs「Groovy Conole」で実行したら、No suitable ClassLoader found for grabエラーが発生した。
書き方やバージョンの問題なのかと思って、@Grapesアノテーションを使用した書き方にして見たり、Apache Derbyの指定方法が悪かったのかと思って、@Grabの書き方を修正して見たり、いろいろ検索してソースを修正して試して見たが、駄目だった。エラーメッセージで検索したら、英文サイトでGroovyが使用できないクラスローダーを使用しているんじゃないかというらしきことが書いてあった。
でも、「Groovy Consoleで実行しているしなあ。」と思ったのだが、思い直してEclipseを終了させて、素のGroovy Consoleで実行して見たら、動いた!!
それで、これはGroovy-Eclipseの問題だなと見当がついたので、「Groovy-Eclipse "@GrabConfig"」で検索したら、以下でバグ報告がされていました。なんてこったい!!
http://jira.codehaus.org/browse/GRECLIPSE-1432
他にもGrailsのプラグインGroovy/Grails Tool Suite (GGTS)を入れているのだけど、これもrun-appコマンドが正常に動作しなくて、コマンドラインから実行することになっていて、Eclipseプラグインは、Javaに比べて意外と安定していないなと感じる出来事でした。