2011-07-21 6 views
2

WebLogic 11gはどのようにライブラリをEARファイルにロードしますか?私はWebアプリケーションでこの問題を抱えています。WARとしてデプロイすると(WEB-INF/libに依存するライブラリで)、正常に動作します。しかし、それがEARファイルの中にある場合、WebLogicはAPP-INF/libに入れない限り、それらのライブラリを見つけられません。つまり、EARとしてデプロイする場合、WEB-INF/libディレクトリからすべてのJARファイルを取り出し、APP-INF/libに配置する必要がありますか?またはこれを避けるためにWebLogicで実行できる設定がありますか?EARの内部でWARがweblogicで異なるのはなぜですか?

ありがとうございます!

答えて

1

複数のWARファイル間またはWARファイルとEARファイルの間で共有する必要があるJARファイルがある場合は、それらをEARにパッケージする必要があります。

WAR#1のWEB-INF/libにJARがあり、WAR#2のEARにパッケージされている場合、WAR#2はWAR#1/WEB-INFのJARファイルを見ることができません/ lib。

1

Java EEクラスローディングがコンテナ内でどのように機能するかを理解するには、問題を解決する必要があります。理解を得るためにはthis linkを参照するべきですが、基本的な問題は、アプリケーションをEARとしてパッケージ化するときに、別のクラスローダー(アプリケーションクラスローダー)をクラスローディング階層に導入したことです。 prefer-web-inf-classes要素を使用してWebアプリケーションからロードするようにWebLogicをコンフィグレーションできます。

関連する問題