デフォルトでは、 Java™ EE アプリケーションは、 Libertyで使用可能なサード・パーティー API にアクセスできません。 このアクセスを可能にするには、アプリケーションを server.xml
ファイルまたは組み込みファイルで構成する必要があります。
Liberty のクラス・ローダー構成に関する最新の資料は、 Open Liberty Web サイトから入手できます。
このタスクについて
以下の例では、 Scholar
というアプリケーションは、 Libertyで使用可能なサード・パーティー API にアクセスする必要があります。
また、このアプリケーションは、Alexandria
という共通ライブラリーを使用します。 このライブラリーは、${server.config.dir}/mylib/Alexandria ディレクトリーにあります。
問題の回避: アップグレード後にサード・パーティー API の互換性が維持されないことがあります。 詳しくは、
Liberty 外部サポートを参照してください。
手順
- アプリケーションがサード・パーティー API にアクセスできるように、アプリケーション用のクラス・ロードを構成します。
classloader
エレメントの apiTypeVisibility
属性のデフォルト値は、 spec, ibm-api, api, stable
です。 ここで、 spec
は、コンパイルとランタイムの両方で使用可能な公開仕様 API を表し、 ibm-api
は、 Libertyで使用可能な API を表します。 値 api
はコンパイル時および実行時の両方に使用可能なパブリック API を示し、stable
はコンパイル時と実行時の両方にデフォルトで使用可能な安定的サード・パーティー仕様 API を示します。 classloader
エレメントの apiTypeVisibility
属性に third-party
を含めると、サード・パーティー API が使用可能になります。
server.xml
ファイルまたは組み込みファイルで、以下のコードを追加して、API タイプの可視性を構成します。
<application id="scholar" name="Scholar" type="ear" location="scholar.ear">
<classloader apiTypeVisibility="spec, ibm-api, stable, third-party" commonLibraryRef="Alexandria" />
</application>
接頭部の +
または -
が API タイプに追加された場合、それらの API タイプは、API タイプのデフォルト・セットからそれぞれ追加または削除されます。 +third-party
接頭部は spec, ibm-api, api, stable,
third-party
になります。 -api の接頭部を付けると、spec, ibm-api, stable
になります。
server.xml
ファイルまたは組み込みファイルで、以下のコードを追加して、API タイプの可視性を構成します。
<application id="scholar" name="Scholar" type="ear" location="scholar.ear">
<classloader apiTypeVisibility="+third-party, -api" commonLibraryRef="Alexandria" />
</application>
- アプリケーションが共通ライブラリーを使用している場合は、同じ API タイプの可視性設定を使用するようにそのライブラリーを設定します。
server.xml
ファイルまたは組み込みファイルで、以下のコードを追加します。
<library id="Alexandria" apiTypeVisibility="spec, ibm-api, stable, third-party">
<fileset dir="${server.config.dir}/mylib/Alexandria" includes="*.jar" scanInterval="5s" />
</library>