宣布阿里云 Java V1.0 SDK 即將終止 Java 7 及以下版本的支持
宣布阿里云 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 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群”群的釘釘群號: 60965016010 聯系我們。