參考文檔:https://www.linuxbabe.com/ubuntu/install-oracle-java-8-openjdk-11-ubuntu-18-04-18-10
主要按照上述文檔翻譯一下主要內容:
Java 11 發布於2018年5月份,這是自從Oracle更改其發布策略以后的第一個長期支持版本。
Java的發布模式簡介
之前,Oracle每兩年發布一個java的主版本,每6個月發布一個小版本。但是 Java 9 發布用了3年,因為jigsaw?有些人,比如一些公司,比較喜歡這個模式,因為產品比較穩定。其他人,比如開發者,比較喜歡新東西,感覺這個太慢了。
自 Java 9以后,Oracle每6個月發布一個主版本,每3年會有一個LTS版本(long time support),會持續支持8年,兼顧開發者和企業用戶。Java 11是第一個長期支持版本。下一個長期支持版本是 Java 17。Java 8 到2025年就停止支持了。非LTS版本在下一個版本出來以后就不會再更新了。因此 Java 9 和 Java 10 已經停止更新。
OpenJDK vs Oracle JDK
自從Java 9 以后,Oracle 開始提供其自己的OpenJDK。並將一些閉源的特性,比如 Java flight recorder和 Java mission control,推送到了OpenJDK。從 Java 11 開始,Oracle Open JDK 和 Oracle JDK在功能上已經保持一致,相互兼容。兩者主要區別是表面的,包管理?還有授權上。如果你要商業支持,那么請用Oracle JDK,其發布授權協議為OTN(Oracle Technology Network)。
安裝Java 8
Java 8 不再使用BCL(Binary Code License),從2019年4月16日起,Oracle JDK 8 使用OTN授權。因此需要注冊Oracle賬號來下載 JDK 8。https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
等下載后,可以將其解壓到/usr/lib/jvm/下面(該路徑默認安裝路徑)。
sudo tar xvf jdk-8u221-linux-x64.tar.gz --directory /usr/lib/jvm/
檢查版本:
/usr/lib/jvm/jdk1.8.0_221/bin/java -version
輸出如下:
java version "1.8.0_221" Java(TM) SE Runtime Environment (build 1.8.0_221-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
安裝Java 11
因為Oracle 的OpenJDK 11和其Oracle JDK 11功能相同,因此如果你不需要Oracle 的商業服務支持,強烈建議你使用OpenJDK,因為其包管理集成和更新都比較方便。
使用如下命令即可在Ubuntu 18.04,19.04,20.04上安裝OpenJDK。
sudo apt install openjdk-11-jdk
同時會安裝 openjdk-11-jre
包,其包含了java的運行時包,完了可以用下面的命令檢查版本:
java -version
輸出如下:
openjdk 11.0.4 2019-07-16 OpenJDK Runtime Environment (build 11.0.4+11-post-Ubuntu-1ubuntu219.04) OpenJDK 64-Bit Server VM (build 11.0.4+11-post-Ubuntu-1ubuntu219.04, mixed mode, sharing)
設置默認版本SDK
第一步:將JDK 8 放在選擇系統下面:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_221/bin/java 1 sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_221/bin/javac 1
使用如下命令選擇默認JDK版本
sudo update-alternatives --config java
sudo update-alternatives --config javac