在大多數LINUX發行版本里,內置或者經過軟件源安裝JDK的話,都是安裝的OpenJDK。JDK具體指的是SunJDK(更確切的說是OracleJDK)。html
OpenJDK是JDK的開放原始碼版本,以GPL協議的形式放出。在JDK7的時候,OpenJDK已經成爲JDK7的主幹開發,Sun JDK7是在OpenJDK7的基礎上發佈的,其大部分原始碼都相同,只有少部分原始碼被替換掉。java
關於OpenJDK和JDK的區別好幾個方面,此處只說明最直觀、開發人員更爲關心的一點區別:linux
OpenJDK不包含其餘的軟件包,好比Rhino Java DB JAXP……,而且能夠分離的軟件包也都是儘可能的分離,可是這大多數都是自由軟件,你能夠本身下載加入。也就是說OpenJDK裏面有不少可能常常用的類庫是不存在的。所以一般咱們會用SunJDK來替換Linux內置的OpenJDK。
從oracle官網下載JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmlweb
### 解壓壓縮包shell
進入下載目錄ubuntu
cd ~/Download
解壓tar.gz包vim
tar -zxvf jdk-8u181-linux-x64.tar.gz
移動JDKoracle
sudo mv jdk1.8.0_181/ /usr/lib/jvm/jdk1.8.0_181/
修改配置文件jvm
sudo vim /etc/profile
在文件末尾添加一下內容svg
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_181 export CLASSPATH=/usr/lib/jvm/jdk1.8.0_181/lib export PATH=$PATH:$JAVA_HOME/bin:$CLASSPATH
是配置生效
source /etc/profile
建立新的java版本,在shell用update-alternatives命令建立新的系統命令連接:
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_181/bin/javac 1171 sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_181/bin/java 1171 sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.8.0_181jar 1171 sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/jdk1.8.0_181/bin/javah 1171 sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/jdk1.8.0_181/bin/javap 1171
update-alternatives是ubuntu系統中專門維護系統命令連接符的工具,後面的1171是用來指定當前連接的優先級,最高的優先級將自動被設置爲默認版本。能夠用下面的命令查看JAVA的版本和優先級:
update-alternatives --display java
選擇JAVA的版本
執行命令
update-alternatives --config java
出現一下內容
There are 3 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/jdk1.8.0_181/bin/java 1171 auto mode 1 /usr/lib/jvm/java-10-openjdk-amd64/bin/java 1101 manual mode 2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode * 3 /usr/lib/jvm/jdk1.8.0_181/bin/java 1171 manual mode
選擇你所安裝的版本:3
配置結束,執行如下命令查看是否替換成功:
java -version java version "1.8.0_181" Java(TM) SE Runtime Environment (build 1.8.0_181-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)