継承関係にある2つのクラスが異なるjarに入っている場合、解決できないか、あるいは解決しないようにしているかのいずれかのようにみえる。
意図せぬ継承を弾くことが目的で後者としているのだとしたら、もっともなことだとは思うが、不便だなぁ。
移譲で解決するので、親のクラスローダからは、子のクラスローダのクラスパスにしか入っていないクラスが見えないというのはありますね。その解決には、Thread Context Class Loaderを使うしか無いです。
どうも。ということは、子供が派生側のjarを持っている(親は継承元のクラスのjarを持っている)なら見えるはずですか?
クラスローダのポリシーに関しては、子優先でも親優先でも、実質的には解決にならなくて、根本的な解決のためには、アプリケーション、ミドルウェアが、Thread Context Class Loaderを使ってクラスロードを行ってないとアウトと思います。
というわけで、頭を冷やして調べ直したら、継承クラスそのものがCLASSPATH上に存在していたため、jarのロード順以前の問題として、最初から解決不能状態でロードされていたのが、問題でした。<br>ああ、ややこしい。成果物は、http://rubyforge.org/forum/message.php?msg_id=96829
ジェズイットを見習え
移譲で解決するので、親のクラスローダからは、子のクラスローダのクラスパスにしか入っていないクラスが見えないというのはありますね。その解決には、Thread Context Class Loaderを使うしか無いです。
どうも。ということは、子供が派生側のjarを持っている(親は継承元のクラスのjarを持っている)なら見えるはずですか?
クラスローダのポリシーに関しては、子優先でも親優先でも、実質的には解決にならなくて、根本的な解決のためには、アプリケーション、ミドルウェアが、Thread Context Class Loaderを使ってクラスロードを行ってないとアウトと思います。
というわけで、頭を冷やして調べ直したら、継承クラスそのものがCLASSPATH上に存在していたため、jarのロード順以前の問題として、最初から解決不能状態でロードされていたのが、問題でした。<br>ああ、ややこしい。成果物は、http://rubyforge.org/forum/message.php?msg_id=96829