7

weblogic サーバーでいくつかの jar ファイルを使用して共有ライブラリを作成しました。現在、EAR アプリケーションがあり、EAR アプリケーションに存在する Web アプリケーションで共有ライブラリのクラス ファイルを使用したいと考えています。したがってweblogic-application.xml、ディレクトリ内にファイルを作成ear-app/META-INF/し、以下のタグを使用して共有ライブラリを参照しました。

<library-ref>
    <library-name>ebs_endeca_artifacts</library-name>
</library-ref>

しかし、アプリケーションでクラス ファイルにアクセスしようとすると、例外が発生します。java.lang.ClassNotFoundException

weblogic.xmlまた、個々の war ファイルのファイルで宣言するのではなく、ear レベルで共有ライブラリを参照する必要があります。

共有ライブラリを使用する代わりに、同じ jar ファイルをear-app/APP-INF/libディレクトリに直接配置すると、アプリケーションは問題なく正常に動作します。

私の耳のアプリケーションで共有ライブラリを使用する方法を教えてください。私は使っているweblogic server 10.3.6

私の共有ライブラリ構造は次のようになります。

shared-web-app/WEB-INF/web.xml
shared-web-app/WEB-INF/lib/*.jar
4

1 に答える 1

4

EARをデプロイする前に、アプリケーションをビルドする必要があるため、クラスパスに共有ライブラリの jar が必要です。JDeveloperは、これらのクラスがどこに格納されているかを認識できないため、compile-time.

WARアプリケーションの展開を準備するときに、 / EAR/内に追加できるファイルのフィルターを作成できます<whatever>Application Properties->に移動しDeployment、展開プロファイルを選択します。ボタンをクリックするEditと画面が表示され、アプリケーションのビルド時に含めることができるファイル/ライブラリをフィルタリングできます。

アーカイブに共有ライブラリを含めず、weblogic-application.xml投稿した のフラグメントを持っている場合、WebLogic サーバーは共有ライブラリのクラスを使用します。

それが役立つことを願っています。わからないことはコメントで聞いてください。:)

于 2013-05-21T14:04:34.910 に答える