【軟通鯤鵬云最佳實踐25】Openjdk-13 鯤鵬云服務器安裝實踐
一、?軟件介紹
OpenJDK是JDK的開放源碼版本,以GPL(General Public License)協議的形式發布。Sun發布的OpenJDK只能運行在i386 和AMD-64機器上。
在JDK7的時候,OpenJDK已經成為JDK7的主干開發版,SUN JDK7是在OpenJDK7的基礎上發布的,其大部分源碼都相同,只有少部分源碼被替換掉。
二、?支持的操作系統
經過華為云嚴格實測,以下操作系統在鯤鵬生態中可以完整運行Openjdk的全部功能:
CentOS7.6
查找jdk的版本,查詢命令如下:
#?yum?search?java?|?grep?jdk Repository?base?is?listed?more?than?once?in?the?configuration ldapjdk-javadoc.noarch?:?Javadoc?for?ldapjdk java-1.7.0-openjdk.aarch64?:?OpenJDK?Runtime?Environment java-1.7.0-openjdk-accessibility.aarch64?:?OpenJDK?accessibility?connector java-1.7.0-openjdk-demo.aarch64?:?OpenJDK?Demos java-1.7.0-openjdk-devel.aarch64?:?OpenJDK?Development?Environment java-1.7.0-openjdk-headless.aarch64?:?The?OpenJDK?runtime?environment?without java-1.7.0-openjdk-javadoc.noarch?:?OpenJDK?API?Documentation java-1.7.0-openjdk-src.aarch64?:?OpenJDK?Source?Bundle java-1.8.0-openjdk.aarch64?:?OpenJDK?Runtime?Environment?8 java-1.8.0-openjdk-accessibility.aarch64?:?OpenJDK?accessibility?connector java-1.8.0-openjdk-accessibility-debug.aarch64?:?OpenJDK?8?accessibility java-1.8.0-openjdk-debug.aarch64?:?OpenJDK?Runtime?Environment?8?with?full?debug java-1.8.0-openjdk-demo.aarch64?:?OpenJDK?Demos?8 java-1.8.0-openjdk-demo-debug.aarch64?:?OpenJDK?Demos?8?with?full?debug?on java-1.8.0-openjdk-devel.aarch64?:?OpenJDK?Development?Environment?8 java-1.8.0-openjdk-devel-debug.aarch64?:?OpenJDK?Development?Environment?8?with java-1.8.0-openjdk-headless.aarch64?:?OpenJDK?Headless?Runtime?Environment?8 java-1.8.0-openjdk-headless-debug.aarch64?:?OpenJDK?Runtime?Environment?with java-1.8.0-openjdk-javadoc.noarch?:?OpenJDK?8?API?documentation java-1.8.0-openjdk-javadoc-debug.noarch?:?OpenJDK?8?API?documentation?for java-1.8.0-openjdk-javadoc-zip.noarch?:?OpenJDK?8?API?documentation?compressed java-1.8.0-openjdk-javadoc-zip-debug.noarch?:?OpenJDK?8?API?documentation java-1.8.0-openjdk-src.aarch64?:?OpenJDK?Source?Bundle?8 java-1.8.0-openjdk-src-debug.aarch64?:?OpenJDK?Source?Bundle?8?for?packages?with java-11-openjdk.aarch64?:?OpenJDK?Runtime?Environment?11 java-11-openjdk-debug.aarch64?:?OpenJDK?Runtime?Environment?11?with?full?debug java-11-openjdk-demo.aarch64?:?OpenJDK?Demos?11 java-11-openjdk-demo-debug.aarch64?:?OpenJDK?Demos?11?with?full?debug?on java-11-openjdk-devel.aarch64?:?OpenJDK?Development?Environment?11 java-11-openjdk-devel-debug.aarch64?:?OpenJDK?Development?Environment?11?with java-11-openjdk-headless.aarch64?:?OpenJDK?Headless?Runtime?Environment?11 java-11-openjdk-headless-debug.aarch64?:?OpenJDK?Runtime?Environment?with?full java-11-openjdk-javadoc.aarch64?:?OpenJDK?11?API?documentation java-11-openjdk-javadoc-debug.aarch64?:?OpenJDK?11?API?documentation?for java-11-openjdk-javadoc-zip.aarch64?:?OpenJDK?11?API?documentation?compressed?in java-11-openjdk-javadoc-zip-debug.aarch64?:?OpenJDK?11?API?documentation java-11-openjdk-jmods.aarch64?:?JMods?for?OpenJDK?11 java-11-openjdk-jmods-debug.aarch64?:?JMods?for?OpenJDK?11?with?full?debug?on java-11-openjdk-src.aarch64?:?OpenJDK?Source?Bundle?11 java-11-openjdk-src-debug.aarch64?:?OpenJDK?Source?Bundle?11?for?packages?with java-latest-openjdk.aarch64?:?OpenJDK?Runtime?Environment?12 java-latest-openjdk-debug.aarch64?:?OpenJDK?Runtime?Environment?12?with?full java-latest-openjdk-demo.aarch64?:?OpenJDK?Demos?12 java-latest-openjdk-demo-debug.aarch64?:?OpenJDK?Demos?12?with?full?debug?on java-latest-openjdk-devel.aarch64?:?OpenJDK?Development?Environment?12 java-latest-openjdk-devel-debug.aarch64?:?OpenJDK?Development?Environment?12 java-latest-openjdk-headless.aarch64?:?OpenJDK?Headless?Runtime?Environment?12 java-latest-openjdk-headless-debug.aarch64?:?OpenJDK?Runtime?Environment?with java-latest-openjdk-javadoc.aarch64?:?OpenJDK?12?API?documentation java-latest-openjdk-javadoc-debug.aarch64?:?OpenJDK?12?API?documentation?for java-latest-openjdk-javadoc-zip.aarch64?:?OpenJDK?12?API?documentation java-latest-openjdk-javadoc-zip-debug.aarch64?:?OpenJDK?12?API?documentation java-latest-openjdk-jmods.aarch64?:?JMods?for?OpenJDK?12 java-latest-openjdk-jmods-debug.aarch64?:?JMods?for?OpenJDK?12?with?full?debug java-latest-openjdk-src.aarch64?:?OpenJDK?Source?Bundle?12 java-latest-openjdk-src-debug.aarch64?:?OpenJDK?Source?Bundle?12?for?packages ldapjdk.noarch?:?The?Mozilla?LDAP?Java?SDK
通過返回的列表,可以查到yum目前可以安裝openjdk版本
四、?編譯與測試環境
本文選用華為鯤鵬云服務器ECS KC1實例做測試,KC1實例的處理器為兼容ARMv8指令集的鯤鵬920。詳細規格如下:
類別
子項
版本
云主機配置
ECS實例類型
kc1.large.4
ECS配置
4U16GB
EVS
高IO(80GB)
云OS
Kernel
4.18.0
五、?編譯安裝與測試
1?依賴安裝
無
2?編譯安裝
1)?安裝openjdk最新版本,執行如下命令:
#?yum?install?java-latest-openjdk.aarch64
3?驗證測試
1)?輸入命令which java,返回結果類似如下圖:
2)?輸入命令java -version,返回結果類似如下圖:
4?問題總結
原本系統自帶openjdk1.8的版本,如果需要安裝不同版本,則需要把原本的版本都卸載,才能安裝新版本。
卸載原先版本方法及命令如下:
1)先查找安裝那些版本
rpm?-qa?|grep?jdk
2)如果軟件會有依賴,所以可以強制卸載,命令如下:
rpm?-e?java?--nodeps
六、?聲明
本文檔中的軟件包均來自軟件官網,安裝文檔部分參考官網的安裝方法,本軟件測試環境為華為鯤鵬云ARM服務器,具體配置信息參照《編譯與測試環境》部分。
本文檔中的軟件安裝測試基于華為鯤鵬云ARM服務器環境測試,如在使用本文檔的安裝方法進行安裝過程中,可能由于系統版本、軟件依賴或其他原因造成軟件安裝不成功,請自行解決或聯系我們,請事先備份相關重要數據、資料。
使用文檔風險由用戶自行承擔,在適用法律允許的最大范圍內,對因使用或不能使用本文檔所產生的損害及風險,包括但不限于直接或間接的個人損害、商業贏利的喪失、貿易中斷、商業信息的丟失或任何其它經濟損失,我司不承擔任何責任。
我司不擔保所提供的軟件功能及服務一定能滿足用戶的要求,也不擔保服務不會中斷,對服務的及時性、安全性、真實性、準確性都不作擔保。
鯤鵬
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。