4

ジャージjarを使用するWebアプリケーション(WARファイル)があります。これをデプロイしようとすると、クラスキャスト例外が発生します(一部のブートストラップサーブレットはジャージを使用します)。分析の結果、weblogic自体にジャージjarが共通していることがわかりました。 modules..と私のWebアプリには異なるバージョンのジャージjarがあります。ここで、common / modules jersey jarを削除すると、Webアプリがデプロイされます。common/ modulejarを削除せずにデプロイできるように、Webアプリで独自のバージョンのjerseyjarを使用する方法を知りたいです。PS私の.warファイルにはweblogic.xmlがなく、weblogicはその場でそれを生成しています。

4

1 に答える 1

5

weblogic.xmlWebLogicによってその場で生成されたものを取得し、それを変更して以下を追加します。

<container-descriptor>
   <prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>

ここで、warファイルにこのweblogic.xmlが含まれていることを確認し、アプリケーションを再デプロイします。

priority-web-inf-classesをtrueに設定すると、アプリケーションのWEB-INFディレクトリに存在するクラスが優先されます。

prefer-web-inf-classes常に機能するとは限りません。WebLogicバージョン10.3.4以降を使用している場合は、prefer-web-inf-classes設定を削除し、代わりにprefer-application-packagesを使用してください。また、WebLogicでのクラスローディングがどのように機能するかについてもこのビデオをご覧ください。

于 2012-11-14T08:48:45.170 に答える