- 私の
/tomcat/lib
ディレクトリにはクラスSharedClass
があります(したがって、すべてのWebアプリと共有されます)。 - 私のWebアプリ
WEB-INF/lib
には class がありLocalClass
ます。 SharedClass
への参照がありLocalClass
ます。
私のWebアプリでは、のインスタンスを作成しようとしましたSharedClass
が、次のメッセージで失敗しました:
NoClassDefFoundError: LocalClass.
SharedClass
は共有されておりLocalClass
、私の Web アプリに対してローカルであるため、機能することを望んでいましたが、機能しません 。
私の疑いではSharedClass
、Tomcat の親クラスローダーLocalClass
によってロードされ、Web アプリ クラスローダーによってロードされます。親によってロードされたのでSharedClass
、そのすべての依存関係も親によってロードされる必要があると思います。したがって、親は見つけることができずLocalClass
、エラーをスローします。
これは理にかなっていますか?これを回避する方法はありますか (独自のクラスローダーを作成せずに)?