OpenJDK和Oracle Java有两个主要的实现,几乎没有区别,只是Oracle Java有一些额外的商业功能。
现在Oracle Java开始收费了。。。官网下载需要登录。
安装OpenJDK
OpenJDK 10,Java平台的开源实现是Ubuntu 18.04中的默认Java开发和运行时。 一旦OpenJDK 11达到GA,它将成为Ubuntu 18.04的默认版本。
安装OpenJDK非常简单直接。
安装OpenJDK 10 JDK
sudo apt install default-jdk
安装OpenJDK 8 JDK
sudo apt install openjdk-8-jdk
安装Oracle Java
在本节中,我们将完成从WebUpd8存储库安装Oracle Java的步骤。 WebUpd8软件包会自动为我们下载并安装Oracle JDK。
为了能够使用add-apt-repository命令添加新的存储库,首先我们需要安装software-properties-common软件包。
sudo apt install software-properties-common dirmngr
现在我们可以添加WebUpd8存储库并安装Oracle Java:
sudo add-apt-repository ppa:webupd8team/java sudo apt update
安装Oracle Java 8(去年Oracle停止维护java8 所以现在无法通过该方法安装)
sudo apt-get install oracle-java8-installer
安装程序会要求您接受Oracle许可条款。 要安装软件包,您需要接受这些条件。
所以这种方式还是推荐安装Oracle Java 11、12
sudo add-apt-repository ppa:linuxuprising/java sudo apt-get update sudo apt-get install oracle-java11-installer sudo apt-get install oracle-java12-installer
非要安装Oracle Java 8的话
手动下载压缩包安装oracle Java JDK
1、前往oracle Java官网下载JDK(http://www.oracle.com/technetwork/java/javase/downloads/index.html)现在Oracle Java开始收费了。。。官网下载需要登录。所以(https://github.com/frekele/oracle-java/releases)你懂的
解压缩到指定目录(以jdk-8u221-linux-x64.tar.gz为例)
创建目录:
sudo mkdir /usr/lib/java
解压缩到该目录:
sudo tar -zxvf jdk-8u212-linux-x64.tar.gz -C /usr/lib/java
修改环境变量:
sudo gedit ~/.bashrc
在文件末尾追加下面内容:
#set oracle jdk environment export JAVA_HOME=/usr/lib/java/jdk1.8.0_212 ## 这里要注意目录要换成自己解压的jdk 目录 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
使环境变量马上生效:
source ~/.bashrc
系统注册此jdk(300为优先级)
sudo update-alternatives --install /usr/bin/java java /usr/lib/java/jdk1.8.0_212/bin/java 300
设置默认版本
我们可以检查我们的默认Java版本:
java -version
输出:
openjdk version "10.0.1" 2019-08-24 OpenJDK Runtime Environment (build 10.0.1+10-Ubuntu-3ubuntu1) OpenJDK 64-Bit Server VM (build 10.0.1+10-Ubuntu-3ubuntu1, mixed mode)
如果我们在服务器上安装了多个Java版本,我们可以使用update-alternatives系统更改默认版本:
sudo update-alternatives --config java
输出:
有 3 个候选项可用于替换 java (提供 /usr/bin/java)。 选择 路径 优先级 状态 ------------------------------------------------------------ * 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 自动模式 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 手动模式 2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 手动模式 3 /usr/lib/jvm/java-9-openjdk-amd64/bin/java 1091 手动模式 要维持当前值[*]请按<回车键>,或者键入选择的编号: 在出现提示时输入号码并按Enter键。