- - PR -
James で BeanUtils が使えない?
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-01-20 00:58
James 2.1.3 で開発しているアプリケーションで、
Commons-BeanUtils を利用しているのですが、 実行時に NoClassDefFoundError が発生してしまいます。
ちゃんと SAR-INF/lib に、beanutils.jar と collections.jar を入れてあるのですが、うまく見つけてくれないようです。 他の dbcp や pool は SAR-INF/lib に放り込んでおくだけで使えているのに、 BeanUtils が使えないのはどうしてなのでしょうか? お手数ですが、よろしくお願いいたします。 | ||||
|
投稿日時: 2005-01-20 01:06
collections.jarのダブルエントリアザーバージョンを疑え。
適用されているクラスパスをログに出力するテストクラスを作れ。 というのはどうでしょうかぁ? | ||||
|
投稿日時: 2005-01-20 01:25
beanutilsがcollectionsよりも上の階層のクラスローダで読み込まれていると言うことはないでしょうか?
システムクラスパスに通っていたり、 jre/lib/ext に配置されていたりしたらそのようなことが発生する可能性があります。 子クラスローダで読みこまれているクラスは参照されないからです。 | ||||
|
投稿日時: 2005-01-20 02:32
Σ(`д`ノ)ノ ヌオォ!!
ナイスアドバイスありがとうございますぅ〜。 お陰様で、即解決してしまいました。(T▽T) インギさんのおっしゃる通り、なぜか beanutils.jar が james-2.1.3/lib の方にも入っていて、それが邪魔していたようです。 そちらの beanutils.jar を取り除くことによって無事問題解決しました。 本当にありがとうございました。 | ||||
|
投稿日時: 2005-01-20 02:41
なーるほど。解決おめでとうございます。
もし james が collections.jar に依存しているようでしたら(配置されていないと言うことは使っていないのでしょうが)逆に james の lib ディレクトリに collections.jar を配置すればOkです。タブン commons は機能毎に細かく jar を分けているくせに依存関係があって時々面倒ですね。コンポーネント毎にアップデードできるのはいいですが。 |
1