Liberty 設定檔外部支援
Liberty 設定檔的外部功能和資源可以直接使用,且可望在下一版中依然存在。 當您套用服務或升級至未來的版本,設定檔的內部層面或伴隨層面可能會改變。
我可以在設定檔中直接使用什麼,且可望在下一版中依然存在?
您可以直接使用下列資源,且在下一版中繼續可用:- 由 ${wlp.install.dir}/dev 目錄中的 JAR 檔內容所定義的應用程式設計介面 (API) 和系統程式設計介面 (SPI)。
- 應用程式類別載入器可以看到伺服器配置中的特性所提供的 API。產品延伸特性可以看到伺服器配置中的特性所提供的所有 API 和 SPI。
- 針對 ${wlp.install.dir}/dev 目錄中的 JAR 檔來編譯您的程式碼。只有在編譯應用程式和特性時,才會提供 ${wlp.install.dir}/dev 目錄中的 JAR 檔,不支援用於執行時期。請勿在應用程式、程式庫或測試中使用這些 JAR 檔。
- 伺服器配置,包括具有 public 或 protected 可見性的特性。您可以在 server.xml 檔和併入檔中指定公用特性和配置元素;受保護的特性可以併入到您自己的特性中。
- ${wlp.install.dir}/bin 目錄和子目錄中的指令、Script 和保存檔。
- ${wlp.install.dir}/clients 目錄和子目錄中的用戶端公用程式。
我應該避免相依於什麼?
請勿建置對於產品伴隨層面的相依關係,否則,當套用服務或升級至未來的版本時,您可能會受到影響。
您應該避免依賴的產品內容範例包含下列情況,且不限於此:
- 產品二進位 JAR 的名稱,例如,wlp/dev 目錄中的 JAR。
請利用工具或 javac -extdirs 選項,針對這些 JAR 檔來編譯您的程式碼。請參閱 置換 Java SDK 的類別。
如果您使用 Apache Ant 來編譯程式碼,請使用萬用字元來避免與特定 JAR 版本建立相依關係;例如:
或者,您可以使用 featureManager classpath 指令,以針對特定的一組特性產生類別路徑。<fileset dir="${wlp.install.dir}/dev/api/spec" includes="com.ibm.ws.javaee.servlet.3.0_*.jar"/>
- 直接使用 ${wlp.install.dir}/lib 目錄中的產品二進位檔。 唯一可直接呼叫的 JAR 檔位於 ${wlp.install.dir}/bin/tools 目錄中。
- 伺服器在執行時期輸出的訊息。當服務和版本升級時,訊息的文字和插入項目會隨之變更。 產品在特定作業點輸出的訊息 ID 會儘可能維持一致,但無法保證,因為基礎實作可能會變更。
- 在 ${wlp.install.dir}/bin 和 ${wlp.install.dir}/dev 目錄外的產品安裝佈置。
- ${wlp.install.dir}/templates 目錄中的範例和範本檔。 將服務套用於您的安裝架構時,可能會修改這些檔案。
- 未明確顯現為 JAR 的專用或協力廠商 Java™ 套件。 應用程式類別載入器在執行時期無法看到它們。
- 請勿使用 console.log 檔,來自動處理伺服器輸出。請改用 messages.log 檔,來存取和處理訊息,這個檔案以更易處理的格式,來提供更詳細的資訊。
套用服務或升級可能會修改什麼?
當套用服務或升級時,可能會修改下列目錄及其子目錄的內容。
請勿自行修改這些位置的檔案,否則,產品維護或升級時,可能會改寫它們:
- ${wlp.install.dir}/bin
- ${wlp.install.dir}/clients
- ${wlp.install.dir}/dev
- ${wlp.install.dir}/java
- ${wlp.install.dir}/lib
- ${wlp.install.dir}/templates
下列目錄的內容不會進行任何修改。
這些是您的檔案,套用服務或升級並不會修改它們:
- ${wlp.install.dir}/etc(您可能已在這裡新增了 server.env 或 jvm.options 檔)。
- ${wlp.install.dir}/usr(使用者配置和應用程式的預設位置)。
- 您透過 WLP_USER_DIR 環境變數來指定的任何非預設目錄。
不對 ${wlp.install.dir}/etc 的內容進行任何修改的這項原則,有一個例外。當您利用 Installation Manager,在 IBM® iSeries® 平台上安裝 Liberty 設定檔時,會建立 ${wlp.install.dir}/etc/default.env 檔。
另外,在保存期間及工作管理程式安裝期間,iAdmin POSTINSTALL 指令也會建立或取代這個檔案。
${wlp.install.dir}/lib/native/os400/bin 目錄中的 iAdmin 指令。
請參閱 iAdmin 指令。
協力廠商 API 有可能隨著時間而改變,舊版相容性並不列入考量。 這些 Java 套件都被視為開放程式碼社群所開發之特性實作的一部分,且提供為 Liberty 設定檔的一部分。 依預設,應用程式看不到協力廠商 API;其類別載入器配置明確允許協力廠商存取權的 Java EE 應用程式,可以在應用程式類別載入器中看到這些套件,OSGi 應用程式必須明確匯入這些套件。 在決定使用協力廠商 API 之前,請考慮不相容的變更所造成的影響。