アプリケーションサーバーにデプロイされた抽象クラス(と呼びましょうClassA
)が付属するJava Webアプリケーションがあります。このJava Webアプリケーションは、この質問の受け入れられた応答に対するアプローチを使用して、外部jarからクラスを動的にロードします。
ClassB
から拡張するクラスをロードするまで(それを呼び出す)、すべてが正常に機能しますClassA
。クラスをロードする行を指しているjava.lang.ClassNotFoundException: ClassA
エラー メッセージが SysOut に表示されます: urlClassLoader.loadClass(className);
。
を呼び出すと、デフォルトの親クラス loader からURLClassLoader.newInstance()
作成されるため、問題はないと思いました。SystemClassLoader
私の仮定は間違っていますか?
WebApplication クラスローダーにロードされた親クラスからたまたま拡張された外部 Jar からクラスをロードするにはどうすればよいですか?
WebApp の展開構成を親が最初から最後に親に変更しようとしたところ、同じエラーが発生しました。Class.forName("ClassA")
行を実行する前に試してみましURLClassLoader.loadClass("ClassB")
たが、同じエラーが再び発生しました。