從 Java EE 應用程式存取協力廠商 API

依預設,Java™ EE 應用程式無法存取 Liberty 中所提供的協力廠商 API。如果要啟用這個存取權,您必須在 server.xml 檔或某個併入檔中配置應用程式。

關於這項作業

在下列範例中,稱為 Scholar 的應用程式需要存取 Liberty 中所提供的協力廠商 API。

另外,應用程式也使用稱為 Alexandria 的共用程式庫。 這個程式庫是在 ${server.config.dir}/mylib/Alexandria 目錄中。

避免問題: 升級之後,協力廠商 API 不見得能保持其相容狀態。如需相關資訊,請參閱Liberty 外部支援

程序

  1. 配置應用程式的類別載入,使應用程式能夠存取協力廠商 API。

    classloader 元素的 apiTypeVisibility 屬性預設值為 spec, ibm-api, api, stable。其中,spec 代表可同時供編譯和執行時期使用的公用規格 API,ibm-api 代表 Liberty 中可用的 API。值 api 代表可同時供編譯和執行時期使用的公用 API,stable 代表依預設可同時供編譯和執行時期使用的固定協力廠商規格 API。將 third-party 包含在 classloader 元素的 apiTypeVisibility 屬性中,讓協力廠商 API 可供使用。

    server.xml 檔或某個併入檔中,新增下列程式碼來配置 API 類型可見性:
    <application id="scholar" name="Scholar" type="ear" location="scholar.ear">
      <classloader apiTypeVisibility="spec, ibm-api, third-party" commonLibraryRef="Alexandria" />
    </application>
  2. 如果應用程式使用任何共用程式庫,請設定這些程式庫來使用相同的 API 類型可見性設定。
    server.xml 檔或某個併入檔中,新增下列程式碼:
    <library id="Alexandria" apiTypeVisibility="spec, ibm-api, third-party">
      <fileset dir="${server.config.dir}/mylib/Alexandria" includes="*.jar" scanInterval="5s" />
    </library>

指示主題類型的圖示 作業主題

檔名:twlp_classloader_3p_apis.html