移轉至 Java Platform Standard Edition 7 或 8

WebSphere® Application Server 8.5 支援 Java™ Platform Standard Edition (Java SE) 6、7 和 8 規格,修正套件 8.5.5.2 中新增了 Java SE 7.1 ,修正套件 8.5.5.9中新增了 Java SE 8。 將 Java SE 6 與 WebSphere Application Server 搭配使用的支援結束於 2018 年 4 月,但您可以移轉至 Java SE 8 ,以協助確保產品安裝保持安全。

關於這項作業

注意: 從 8.5.5.11版開始, Java 的預設版本是 Java SE 6 或 Java SE 8。 因此,您可以接受預設值,並將 Java SE 6 或 Java SE 8 安裝成 WebSphere Application Server 中 /java/java64 目錄所包含且依預設在伺服器和節點配置期間使用的 Java SE 版本。 Java 8 是建議的 Java SDK,因為它提供最新的特性及安全更新項目。 您可以繼續使用 Java SE 6,但是在 2018 年 4 月支援結束之後,無法提供任何服務,這可能會將您的環境暴露在安全風險之下。
Java SE 7 及 Java SE 7.1(無法用於 Solaris 及 HP)也是安裝在 WebSphere Application Server 8.5.5.11 版上的可行選項。
  • Java SE 7.0 的位元層次基於起始安裝 WebSphere Application Server 期間所選取的位元層次。 如果安裝 32 位元 WebSphere Application Server,則只能安裝 32 位元 Java SE 7.0。 如果安裝 64 位元 WebSphere Application Server,則只能安裝 64 位元 Java SE 7.0。
  • 安裝選用 Java SE 7.0 或 Java SE 7.1 不表示設定檔可以利用這個新版本的 Java。 可以使用 managesdk 指令來切換 Java,或者可以使用 WebSphere Application Server 管理主控台 (wsadmin) 來進行切換。

[8.5.5.14 或更新版本]從 8.5.5.14 版開始,Java SE 8 是預設 Java。 當更新至 8.5.5.14時, Java SDK 8 會取代任何使用 Java SDK 6 的現有設定檔。 您可以繼續使用 Java SDK Java Technology Edition 7.0 版和 7.1版,但在 2022 年 7 月結束支援之後,無法提供任何服務,這可能會使您的環境面臨安全風險。

如需 Java SE 6、7 及 7.1 服務端的相關資訊,請參閱 WebSphere Application Server V8.5中的 Java SE 6、7 及 7.1 服務端

2020 年 3 月之後,com.ibm.websphere.IBMJAVA.v80 產品與服務將淘汰,並且不會提供此產品與服務的任何修正程式或臨時修正程式。 如果在 2020 年 3 月之後隨 WebSphere Application Server 8.5.5 版安裝此產品與服務,請予以解除安裝,並切換至同一套件群組中 WebSphere Application Server 套件提供的預設 Java SE 8 SDK。 使用預設 Java SE 8 SDK,您會繼續收到 Java SE 8 SDK 支援,其中包括安全更新項目。

[8.5.5.18 或更新版本]從 POWER8 Little Endian (LE) 上適用於 Linux 的 8.5.5.18 版開始, Java 預設版本為 Java SE 7.1 或 Java SE 8。 因此,您可以接受預設值,並安裝 Java SE 7.1 或 Java SE 8 作為 Java SE 版本 (包含在 WebSphere Application Server 的 /java 目錄中,依預設在伺服器和節點配置期間使用)。 Java 8 是建議的 Java SDK,因為它提供最新的特性及安全更新項目。 您可以繼續使用 Java SE 7.1,但是在 2022 年 7 月支援結束之後,無法提供任何服務,這可能會將您的環境暴露在安全風險之下。

您只能將 user.wasjava=java8 內容與 Linux on POWER8 LE 產品的新安裝搭配使用。 在 Linux on POWER8 LE 的修正套件中,user.wasjava=java8 內容不適用於產品升級。

[8.5.5.19 或更新版本]從 POWER8 Little Endian (LE) 上 Linux 的 8.5.5.19 版開始, Java 預設版本是 Java SE 8。 因此,您可以接受預設值,並將 Java SE 8 安裝成 WebSphere Application Server 中 /java 目錄所包含的 Java SE 版本,依預設在伺服器和節點配置期間使用。 您可以透過安裝 IBM WebSphere Java SDK 7.1 版,繼續使用 Java SE 7.1,但是在 2022 年 7 月支援結束後無法提供任何服務,這可能會將您的環境暴露在安全風險之下。

對於 Linux on POWER8 LE,安裝及升級至 8.5.5.19 版不需要 user.wasjava=java8 內容。

移轉至 Java SE 8 會提供最新可用的 Java 特性及標準,並確保您的應用程式可以在未來數年的受支援環境中執行。 如需新 Java 特性的相關資訊,請參閱 Oracle 網站上的 Java 8 新增功能

雖然您也可以移轉至 Java SE 7 或 7.1,但這些版本的支援僅在 2022 年 7 月之前提供。 如果您選擇移轉至 Java SE 7 或 7.1,請計劃在該時間之前執行類似移轉至 Java SE 8。 如需停止支援 Java SE 6 和 Java SE 7 的相關資訊,請參閱 已移除的特性

當您移轉至較新的 Java SE 版本時,請決定是否要利用應用程式中任何新的 Java SE 功能,並從已淘汰的功能開始轉移。

程序

  1. WebSphere Application Server 安裝至少更新至 Java 版本所需的最低修正套件層次。

    如果您是從以 Java SDK 8 作為預設值的新安裝開始,則不需要執行步驟 1。

    表 1. 依 Java SE 版列出的修正套件層次下限。 此兩欄表格列出 Java SE 版本及安裝它所需的最低產品修正套件層次。
    Java SE 版本 修正套件層次下限
    Java SE 8.0 8.5.5.9
    Java SE 7.1 8.5.5.2
    Java SE 7.0 8.5.0.0

    [AIX Solaris HP-UX Linux Windows]如需詳細指示,請參閱 在分散式作業系統上安裝及解除安裝臨時修正程式和修正套件

    [z/OS]如需詳細指示,請參閱 在 z/OS®上安裝及解除安裝臨時修正程式和修正套件

  2. 安裝較新的 Java SE 版本。
    附註: 如果您是從使用 Java SE 8 作為預設值的 8.5.5.11 版或更高版本的新安裝開始,則不需要此步驟。

    8.5中,只有 IBM® WebSphere SDK Java Technology Edition 才支援 Java SE 7、 7.1和 8。 這些 Java SDK 專門針對 WebSphere Application Server進行包裝及測試。 無法使用其他 Java SDK ,例如針對 WebSphere Application Server 9.0 版或 Liberty 所提供的 Java SDK。

    [AIX Solaris HP-UX Linux Windows]如需詳細指示,請參閱 在分散式作業系統上安裝及解除安裝 SDK Java Technology Edition 8.0在分散式作業系統上安裝及解除安裝 SDK Java Technology Edition 7.0 或 7.1

    [z/OS]如需詳細指示,請參閱 安裝 IBM WebSphere SDK Java Technology Edition 8.0安裝 IBM WebSphere SDK Java Technology Edition 7.0 或 7.1

  3. 執行 managesdk 指令,以更新 WebSphere Application Server 設定檔使用的 Java SDK。
    附註: 如果您是從使用 Java SE 8 作為預設值的 8.5.5.11 版或更高版本的新安裝開始,則不需要此步驟。

    如需相關資訊,請參閱 managesdk 指令

    1. 執行 managesdk -listavailable,以確定新的 Java SDK 可供使用,並記下 SDK 名稱 (例如 1.8_64) ,以用於稍後的指令。
    2. 將指令預設為新的 SDK。
      managesdk -setCommandDefault -sdkname 1.8_64
    3. 將新的設定檔預設值設為新的 SDK。
      managesdk -setNewProfileDefault -sdkname 1.8_64
    4. 啟用現有設定檔以使用新的 SDK。
      managesdk -enableProfileAll -sdkname 1.8_64 -enableServers
  4. 視需要更新現有應用程式。
    1. 決定是否在應用程式中利用較新的 Java SE 功能。

      您可以將只使用 Java SE 8 特性的應用程式部署到 8.5.5.9 版或更新版本的節點,也可以將只使用 Java SE 7.1 特性的應用程式部署到 8.5.5.2 版或更新版本的節點。 舊版產品不提供必要的 Java SE 虛擬機器。

    2. 透過設定編譯器模式,編譯不使用較新的 Java SE 功能在先前 Java 虛擬機器層次上執行的應用程式。

      當您編譯以較新的 Java SE 版本建置,但預期在先前規格上執行的應用程式時,請指定較新的 Java SE 編譯器的 -source-target 模式。 這樣做可確保所產生的位元組碼與舊版 Java 虛擬機器相容。

      例如,如果目標 Java 虛擬機器是 1.6 層次,當您使用 Java SE 8 編譯應用程式時,請指定 -source 1.6-target 1.6 ,以產生與 1.6相容的位元組碼。 這不會處理 Java SE 8 新增的套件、類別或函數的使用。 它只處理位元組碼輸出。 如果開發人員想要在多個 Java 虛擬機器規格層次上執行應用程式,則他們必須小心從 Java SE 套件使用哪些 API。

    3. 解決先前編譯的 Java SE 應用程式中任何不相容的問題。

      在大部分情況下,除了 Oracle Compatibility Guide for JDK 8Java SE 7 and JDK 7 Compatibility中所記載的不相容性及淘汰之外, Java SE 規格與舊版 Java SE 向上二進位相容。

      最佳作法: 使用 Migration Toolkit for Application Binaries 及 WebSphere Application Server Migration Toolkit,來掃描應用程式是否有任何必要的變更,而不是手動查看應用程式是否有 API 及規格變更。

      應用程式二進位掃描器可針對您的應用程式,提供詳細的移轉分析報告,因此您可以更充分瞭解應用程式可能需要的變更類型與範圍。 當您移轉應用程式時,Eclipse 型移轉工具箱會提供快速修正程式,可盡可能自動更新您的原始檔,並針對必須手動更新的項目,提供詳細的說明。

      如需相關資訊及下載工具箱,請參閱 WebSphere Application Server Migration Toolkit