top / index / prev / next / target / source
日記形式でつづる いがぴょんコラム ウェブページです。
blancoDb Enterprise Edition に Antタスクを新規追加してみました。
blancoDbにおいて ソースコード生成コマンドが Antタスク化していないのは あまりにもマズいだろうという多数の指摘を受けました。指摘の通りなので、Antタスク化を簡単に実装しました。
参考にした Antの新規タスク開発方法。
@IT:Java TIPS -- Antで使う新規タスクを作成する http://www.atmarkit.co.jp/fjava/javatips/076jakarta003.html
@IT:Java TIPS -- Antで使う新規タスクにパラメータを渡す http://www.atmarkit.co.jp/fjava/javatips/084jakarta007.html
…実装は 意外にも簡単でした。食わず嫌いでした (苦笑)なんて なんだかんだ作業しているうちに、とても夜更かししてしまいました (反省)
blancoDb の Antプラグインについては、まだ 広範な試験は実施されていません。利用については、しばらくお待ちください。
Antタスク化において blancoDb固有の問題だったのが、リソースファイルの読み込み関連についてです。Class.getSystemResource()ではダメで、this.getClass()を足がかりにgetResourceAsStream()を呼び出さないとうまくいかない場合があります。(修正箇所は具体的には blancoIgになります) jarファイル内からのリソース読み込みは 昔ながらに奥が深いです
ちなみに、この getSystemResourceでは (特定条件下において) 読み込みが失敗し、そうではなく何かしら(そしてほとんどの場合 *.class) を足がかりに getResouceしないと *.class以外のファイルが読み込みできない件については、意外なことですが、一部のコアな Java技術者しか知りません。私自身、なぜこれが失敗するのかについて、JavaVMのクラスローダーの内部実装に踏み込んだ正確な説明は出来ません。
この問題に言及しているページをメモしておきます。
関連するリソース 2005.07.15追記 この問題の本質は、じつはクラスローダのインスタンス違いだった模様です。これで私の頭の中はかなりすっきりと整理できました。
Saisseさん、ありがとうございます。
getSystemResource()の件で見た「Java Programming Primer」のページについて、情報が充実していて心に響きました。どなたが書いてられるのだろうと調べてみたところ、なんとあの有名なライターさんである岩谷宏さんのウェブページの一部分だったということがわかりました。
結構びっくりしました。
某氏とうっちーとで話していて、とりあえず私が関連するリソースについて、Eclipseプラグイン開発技術 (+多少の C言語) に対してリソースを集約していく方向性で (勝手に) まとまりました。冗談めいて、キーワードは DoD と設定しました。実際のところ Eclipseプラグイン開発技術については かなり難易度が高く、しかしそれに見合うだけの効果があるように判断しています。
関連する日記
WebOTXの OLF/TPについて調べていたら、JCAにたどり着きました。さて、JCAを勉強しないと…