2017-03-24 9 views
1

クラス・ファイルDTDScanner、DocumentScannerが2つのjarファイルからロードしていますcom.ibm.ws.webservices.thinclient_8.5.0.jar WEB-INF/libを介してアプリケーションから提供されます)と、com.ibm.ws.xlxp.1.5.3_1.0.16.jarがあります。これらのクラスファイルには、2つの異なるクラスローダーによってロードされるため、java.lang.LinkageError:ローダー制約違反があります。java.util.concurrent.ExecutionException:java.lang.LinkageError:ローダー制約違反:メソッドの解決時

リバティバージョン: - :java.lang.LinkageErrorの:ローダー制約違反:17.0.0.1リバティ(17.0.0.1-cl170120170227-0220)ここで

はエラー java.util.concurrent.ExecutionExceptionで解決するときメソッド」com.ibm.xml.xlxp2.scan.util.EntityManager。< init>(Lcom/ibm/xml/xlxp2/scan/util/EntityManager $ EntitySupport; Lcom/ibm/xml/xlxp2/scan/DocumentScanner; Lcom /現在のクラス・ローダー(com/ibm/ws/classloading/internal/AppClassLoaderのインスタンス)V "は、クラス・ローダー(com/ibm/ws/classloading/internal/AppClassLoaderのインスタンス)メソッドの定義クラスのクラス・ローダー(org/eclipse/osgi/internal/loader/EquinoxClassLoaderのインスタンス)、クラスcom/ibm/xml/xlxp2/scan/DTDScanner、 COM/IBM/XML/xlxp2 /スキャン/ utilに/ EntityManagerの、タイプCOMに対して、異なるクラスのオブジェクトを持っている/ IBM/XML/xlxp2 /スキャン/ DocumentScannerは、署名に

を使用ロードする方法[4:54]
必要があれば、単一のクラスローダー内のすべてのjarファイル

答えて

1

シンクライアント・ジャーは、Java EEアプリケーション内にパッケージ化されていないため、スタンドアロン・シン・クライアント用であり、これらの環境で使用するためのWebSphere APIをいくつか提供しています。それらを含めると、サーバーとアプリケーションの間で多くのクラスの重複が生成され、LinkageErrorsはそのような重複の共通の副作用です。アプリケーションからそのjarファイルを削除すると(サーバー自体にないものは含まれていないはずです)、問題を解決するはずです。

関連する問題