[Seasar-user:17027] Re: 特定環境下でNoClassDefFoundError:AbstractInterceptor発生
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2009年 3月 4日 (水) 00:00:26 JST
小林 (koichik) です.
Date: Tue, 3 Mar 2009 22:04:31 +0900
From: T Tsukada <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:17026] Re: 特定環境下でNoClassDefFoundError:AbstractInterceptor発生
> 他の環境(RHEL4)でも再現しました。
それならそれなりの原因がありそうですね.
> ディレクトリのタイムスタンプが関係していると思い、さらに簡単に
> touch WEB-INF/lib
> をしてから、再起動すると、発生しなくなりました。違いはlibの
> タイムスタンプのみです。
> とりあえずこれで乗り切れそうです。
>
> クラスローダの仕組みが分かっていないのですが、ディレクトリの
> タイムスタンプで読み込み順などがあるのでしょうか?
> (Windows環境では全く起きませんが)。
Unix/Linux ではディレクトリエントリの一覧の並びは
アルファベット順になるとは限りません.
が,ディレクトリに touch するだけで並び順が変わるとも
思えませんが.
ともあれ (JW),Tomcat の起動ログにクラスパスの一覧が
出力されるので,それを確認すればライブラリの並び順を
確認できます.
再現する場合としない場合でどのようにクラスパスが
変わっているか確認してみてください.
もっとも,ライブラリの並び順が影響するとしたら
同じ FQN のクラスが複数あるとか,同じ名前の
リソースが複数ある場合に,どのライブラリに
含まれるものが使われるかという違いになり,
NoClassDefFoundError になるとは考えにくいですが.
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
Seasar-user メーリングリストの案内