全部產品
Search
文件中心

Alibaba Cloud SDK:宣布阿里雲 Java V1.0 SDK 即將終止 Java 7 及以下版本的支援

更新時間:Jul 18, 2024

宣布阿里雲 Java V1.0 SDK 即將終止 Java 7 及以下版本的支援。

聲明內容

從 2025 年 1 月 1 日起,阿里雲 Java SDK 將不再繼續支援 JDK6、JDK7 運行時,也就是正式終止對 Java 6、Java 7 的支援。具體 SDK 支援策略,請參考阿里雲SDK支援策略

阿里雲 Java SDK 目前維護三個主要版本:V1.0、V2.0和非同步版。使用 Java 8 或更高版本的客戶可以使用V1.0、V2.0、非同步版,使用 Java 6/7 的客戶可以使用 V1.0。這次停止維護 Java 7及以下版本的支援,涉及的影響版本是V1.0。

Oracle 於 2017 年 10 月同時停止了對 Java 6/7 虛擬機器 (JVM) 的維護支援,不再提供擴充更新以及安全更新,所有版本的 End-of-Life(EOL)時間表如下,詳情參見 Oracle 官網。阿里雲 Java SDK 也將於 2025 年 1 月 1日 停止對 Java 6/7 運行時的維護支援,在此日期之後,使用 Java 6/7 的客戶在升級其阿里雲 Java SDK 版本時將在運行時收到“Java 版本不匹配”錯誤。

java

java1

java2

我們建議您遷移到 Java 8 或更新的運行時,該運行時仍會接收更新並承諾提供長期支援。我們推薦使用 Java 當前長期支援(LTS)的版本,例如 Java 8、Java 11、Java 17、Java 21。

阿里雲 SDK 會保證支援最新的 LTS Java 版本。請參考 Java 發布時間表以擷取 Java 版本及其維護狀態的完整列表。

為什麼我們要終止對 JAVA 6/7 的支援?

如前所述,Oracle 於 2017 年 10 月同時停止了對 Java 6/7 虛擬機器 (JVM) 的維護支援,不再提供擴充更新以及安全更新。

阿里雲 Java SDK 使用了少量行業標準依賴項,由於 Java 6/7 現在通常被視為“不受支援”,因此許多第三方庫已停止支援 Java 6/7 作為運行時,或者有些第三方庫已經不針對 Java 6/7 運行時提供安全更新。這就導致使用者使用起來是有安全風險的,為了避免這些安全風險,我們決定將阿里雲 Java SDK 的最低 Java 版本提高到 Java 8。

終止支援意味著什嗎?

自各版本終止日期起,阿里雲 Java SDK 將不再對 Java 6/7 運行時進行安全補丁的更新和新功能的支援,並將最低 Java 版本提高到 Java 8,如果您使用 Java 6/7 的客戶在升級其阿里雲 Java SDK 版本時將在運行時收到“Java 版本不匹配”錯誤,如下所示:

$ java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

$ mvn package
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/aliyun/test/TestClass : Unsupported major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access\$100(URLClassLoader.java:71)
    at java.net.URLClassLoader\$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader\$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at Main.main(Main.java:6)

現有的 Java SDK 仍然可以運行嗎?

是的,現有的 Java SDK 版本將繼續運行。但是強烈建議您將 SDK 遷移到受支援的運行時版本,以便您繼續接收安全補丁並保持獲得支援人員的資格。

您需要做什嗎?

如果您尚未準備好更新到較新的 Java 版本,則可以將您使用的阿里雲 Java SDK 版本固定為支援 Java 6 的版本,該版本將持續有效。但是,您將不再收到新的服務更新、錯誤修複或安全修複。

我們建議您升級到 Java 8 或更高版本,假設您使用 Maven 管理您的專案工程,可以做如下修改:

1. 確認並升級本地 Java 版本:

  • 確認你的系統是否已安裝適合的 Java 版本。

  • 如果沒有,安裝 Java 8 或更新的版本。

2. 設定 Maven 使用特定的 JDK:

可以編輯 Maven 的 settings.xml 檔案,指示 Maven 使用正確的 JDK:

   <profile>
     <id>my-jdk-1.8-profile</id>
     <activation>
       <activeByDefault>true</activeByDefault>
       <jdk>1.8</jdk>
     </activation>
     <properties>
       <maven.compiler.source>1.8</maven.compiler.source>
       <maven.compiler.target>1.8</maven.compiler.target>
       <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
     </properties>
   </profile>

3. 在專案的 pom.xml 中指定 Java 版本:

確保你的 Maven 專案配置使用了所需的 Java 版本。編輯 pom.xml 檔案,如下:

   <properties>
       <maven.compiler.source>1.8</maven.compiler.source>
       <maven.compiler.target>1.8</maven.compiler.target>
       <maven.compiler.release>1.8</maven.compiler.release>
   </properties>

Java SDK 版本維護矩陣

有關阿里雲 SDK 維護和棄用的更多資訊,請參閱阿里雲SDK支援策略。 我們的政策是在社區或供應商結束對依賴項的支援後至少 6 個月內繼續支援 SDK 依賴項。但是,此策略可能會根據特定的依賴關係而有所不同,一般這個時間為一年左右。

阿里雲 SDK 對 Java 版本的支援矩陣如下:

Java 版本

宣布終止支援時間

阿里雲 SDK 終止支援時間

Java 6

2017 年 10 月

2025 年 1 月 1 日

Java 7

2017 年 10 月

2025 年 1 月 1 日

Java 8

預計 2030 年 12 月

預計 2032 年 1 月 1 日

Java 11

預計 2032 年 01 月

預計 2034 年 1 月 1 日

Java 17

預計 2029 年 09 月

預計 2031 年 1 月 1 日

Java 21

預計 2031 年 09 月

預計 2033 年 1 月 1 日

Java 25

預計 2033 年 09 月

預計 2035 年 1 月 1 日

需要額外的協助怎麼辦?

如果您有任何疑問,請通過OpenAPI 開發人員門戶反饋或“OpenAPI 開發人員門戶 - 值班服務群4群”群的DingTalk群號: 60965016010 聯絡我們。