私はTomcatのカスタムクラスローダーを実装しようとしています。私の最初の試みはクラスキャストの例外をもたらしました(明らかに、Tomcatは私のローダーをorg.apache.catalina.loader.WebappLoaderにキャストしようとします)。私はWebappLoaderを拡張し、catalina.jarをビルドパスに追加しました。カスタムTomcat Webapp ClassLoader
今、私は展開する準備が整いました(私は思う)。私はこのエラーを取得しています:
SEVERE: Catalina.start: LifecycleException: start: : java.lang.NoClassDefFoundError: org/apache/catalina/loader/WebappLoader
Tomcatが実行するcatalina.jarが付属していますので、私はそれがすでにTomcatのにロードされています99.9%確信しています。私は/server/lib/catalina.jarをチェックすることでこれを確認しました。これにはApache WebappLoaderが含まれています。さらに、別のcatalina.jarを手動でリンクすると、問題の混乱が予想通りに発生します。
私は混乱しています。どんなヒントも熱くなるでしょう。
ありがとうございます!興味深いことに、tomcat6(WebappLoaderの拡張; tomcat5.5での作業)と同じことが、依然としてClassCastExceptionを引き起こします。キャストを実行しているクラスが、クラスをロードしたクラスとは異なるローダーを使用してロードされているように私に聞こえます。私はどこかで別の行方不明のtomcatを設定していない限り、どうにか私はそれを制御するだろうとは思わない? tomcat6のいずれかのアイデアですか?
OMG;私はそれを信じられません。ありがとうございました!今すぐ動作します。 – Jim