1. 程式人生 > >openjdk8指定版本安裝

openjdk8指定版本安裝

最近發現在ubuntu的VERSION="16.04.4 LTS (Xenial Xerus)"
上安裝的java版本為:

root@0001:/usr/lib/jvm/java-8-openjdk-amd64# java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

另一臺伺服器ubuntu上VERSION="16.04.4 LTS (Xenial Xerus)"

上安裝的java版本為:

root@u00:~# java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-0ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

發現在openjdk version為1.8.0_181版本之中,tool.jar找不到,mvn clean install專案時一直報錯

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project mqtt-jmeter: Fatal error compiling: tools.jar not found: /usr/lib/jvm/java-8-openjdk-amd64/jre/../lib/tools.jar -> [Help 1]

但是在1.8.0_191版本之中是可以的。

這裡就牽扯到一個問題,如何指定版本安裝openjdk

1. 在ubuntu16.04中

#新增opendk的源
sudo add-apt-repository ppa:openjdk-r/ppa
#更新系統包快取
sudo apt-get update
#檢視存在的版本
apt-cache madison openjdk-8-jdk

root@0001:/usr/lib/jvm/java-8-openjdk-amd64# apt-cache madison openjdk-8-jdk
openjdk-8-jdk | 8u212-b03-0ubuntu1.16.04.1 | http://cn.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
openjdk-8-jdk | 8u212-b03-0ubuntu1.16.04.1 | http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages
openjdk-8-jdk | 8u77-b03-3ubuntu3 | http://cn.archive.ubuntu.com/ubuntu xenial/main amd64 Packages

#根據版本號下載軟體包
sudo apt-get install openjdk-8-jdk=8u212-b03-0ubuntu1.16.04.1

安裝成功之後,版本為:
root@0001:/usr/lib/jvm/java-8-openjdk-amd64/bin# java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b03-0ubuntu1.16.04.1-b03)
OpenJDK 64-Bit Server VM (build 25.212-b03, mixed mode)

配置java環境,一般習慣在vim /etc/profile

#編輯java、maven環境
vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export M2_HOME=/opt/apache-maven-3.6.1
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$M2_HOME/bin:$PATH

#可以通過echo $PATH檢視是否生效,如果想還原PATH,可以執行
source /etc/environment