クラスパス上に置いておけばスクリプトファイル(*.groovy)もインポートできる
たとえば,(↓)こんなスクリプトを/tmpとかに置いておき,
== /tmp/Props.groovy == class Props { static def AAA = 'aaaa' } == /tmp/Const.groovy == class Const { static def BBB = 'bbbb' }
カレントディレクトリ(例えば,$HOMEとか)に,こんなスクリプトを書く。
== test.groovy == import static Const.* println Props.AAA println BBB
普通に起動すると「Props.groovyやConst.groovyが見つからない」と怒られるけど,次のようにクラスパス(-cp
オプション)を付けるとうまく行く。
> groovy -cp .:/tmp test.groovy
ポイントは「デフォルト・パッケージも読み込める」ってこと。これを利用してstartGroovy
にあらかじめデフォルトのクラスパスを仕込んでしまえば,定数クラスとかMetaClassいじくるクラスとかの置き場所に使えそう。
後者のMetaClassいじくるクラスの場合は,Groovyにブートストラップみたいなのあるのが理想。