[Seasar-user:17026] Re: 特定環境下でNoClassDefFoundError:AbstractInterceptor発生

T Tsukada [E-MAIL ADDRESS DELETED]
2009年 3月 3日 (火) 22:04:31 JST


お世話になります。塚田です。

> とりあえず,Tomcat を再インストールしてみるとか,
> OS を再インストールしてみるとか,別のハードの
> 同じ OS で再現するか確認するとか,そんなことしか
> 思いつきません.

他の環境(RHEL4)でも再現しました。
きっかけはいずれもjdbc.diconのMySQL接続先URLにパラメータ
を追加したことなのですが、その後は、WEB-INF/classes以下の
ファイルを変更すると、必ず発生するようになりました。

> # よくその手順 (?) を見つけられましたね.

ディレクトリのタイムスタンプが関係していると思い、さらに簡単に
touch WEB-INF/lib
をしてから、再起動すると、発生しなくなりました。違いはlibの
タイムスタンプのみです。
とりあえずこれで乗り切れそうです。

クラスローダの仕組みが分かっていないのですが、ディレクトリの
タイムスタンプで読み込み順などがあるのでしょうか?
(Windows環境では全く起きませんが)。

2009/03/03 2:00 Koichi Kobayashi <[E-MAIL ADDRESS DELETED]>:
> 小林 (koichik) です.
>
> Date:    Tue, 3 Mar 2009 00:30:42 +0900
> From:    T Tsukada <[E-MAIL ADDRESS DELETED]>
> To:      [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:17018] 特定環境下でNoClassDefFoundError:AbstractInterceptor発生
>
>> ただし常に発生するわけではなく、最初にwarをデプロイして展開し、WEB-INF/classes以下のプロパティファイル等を変更しない場合は、再起動しても発生しませんが、変更すると発生します。また、tomcat/lib以下のあるjarを外に出して再起動し、また再度入れて再起動すると発生しなかったりします。プロパティファイルを変更する必要がある場合は暫定的にこのように対処することにしています。
>>
>> また、他のWindowsやRHEL4, CentOS5の環境では同じ構成で同様のことを行っても一度も発生したことはありません。
>
> これを見る限りはその環境特有の問題で,Seasar や
> アプリは関係なさそうに見えます.
> # よくその手順 (?) を見つけられましたね.
>
> とりあえず,Tomcat を再インストールしてみるとか,
> OS を再インストールしてみるとか,別のハードの
> 同じ OS で再現するか確認するとか,そんなことしか
> 思いつきません.
>
>
> --
> <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 mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>


Seasar-user メーリングリストの案内