<< 2008/01/11 | Home | 2008/01/13 >>
PR: 転職    転職    合宿免許    漫画    シルバー    ブライダルエステ    墓地・霊園    葬式   

gant Execute.shell

なんでexitValue()を返さないんだろう。これじゃ、起動プロセスが正常に終了したのかどうか分からないじゃないか。

Groovyと定数

gantで設定を外に出すとして、antプロパティも使えるんだけど、やっぱりGroovyで設定した方が柔軟だよねぇ。でもGroovyって定数は定義できないんだろうか。

final I = 10
I = 2
println I
$ groovy test.groovy 
2

groovycでコンパイルしてみると、これってrun()メソッドのローカル変数になっているようだ。考えてみると、finalなローカル変数って、クラスファイル上は情報が残ってなくって、javacレベルでのチェックのみなのか。

クラスにすれば大丈夫みたいだ。

class Path {
    static final TMP = '/tmp'
}

Path.TMP = '/home'
println Path.TMP
$ p:/tmp$test.groovy 
Caught: java.lang.IllegalAccessException: Can not set static final java.lang.Object field Path.TMP to java.lang.String
        at test.run(test.groovy:5)
        at test.main(test.groovy)

クラスにしておいて、importというのが無難かな。

このサイトの掲載内容は私自身の見解であり、必ずしもIBMの立場、戦略、意見を代表するものではありません。
日本アイ・ビー・エム 花井 志生 Since 1997.6.8