iPlanet の Java アプリケーション サーバーを実行していますcommons-logging-1.0.4.jar
。
私のアプリケーションの 1 つが、同じく使用AuthSSLProtocolSocketFactory
する別の apache ライブラリである呼び出しを行うまでは問題ありませんcommons-logging
。
jar を jvm クラスパスに配置すると、次のエラーが発生します。
Invalid class loader hierarchy. You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed. (Caused by org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy....
それcommons-logger
自体の 2 つのインスタンスを異なるクラスローダーにロードするのは好きではないようです。アプリケーションサーバーには、最初にそれをロードする独自のクラスローダーがあると想定しています(ただし、それについて言及しているアプリケーションサーバー構成は見つかりません)。そのため、アプリケーションが2回目にロードしようとすると、その例外がスローされます。
Web サーバーを変更することも、Apache ライブラリを変更することもできません。提案?