Ubuntu 系统安装 JDK

本贴最后更新于 1793 天前,其中的信息可能已经时移俗易

博客原文地址http://www.yunxincoder.cn/articles/2019/12/20/1576823176747.html

前言

目前 Java 版本更新很快,每半年推出一个版本,因此我们可能需要在自己的电脑上安装不同版本的 JDK,以便于我们学习使用,本文主要介绍了在 Ubuntu18.04 系统上安装 JDK(OpenJDK 、 Oracle JDK)以及管理不同版本 JDK(JDK1.8、JDK9、JDK10 等)的方法。

安装方法

第一种:安装系统自带的 OpenJDK

因为 OpenJDK 是开源的,所以很多 Linux 系统上都会自带一个长期支持版本(LTS)的 OpenJDK,如 OpenJDK-8,因此我们可以通过以下命令很快安装好

  1. 更新软件源
sudo apt update
  1. 安装
sudo apt install openjdk-8-jdk

这种方法最简单,但是只能安装 OpenJDK

第二种:通过第三方软件仓库(PPA)安装 Orracle JDK:

  1. 添加软件仓库
sudo add-apt-repository ppa:webupd8team/java
  1. 更新软件源
sudo apt update
  1. 安装
sudo apt install oracle-java8-installer

这种方式也简单,但是需要依赖第三方软件仓库

第三种:下载 JDK 安装包,解压安装

简单说就是下载 JDK 安装包,然后解压出来,再建立软连接,就可以了。
这种方式相对于前两种方式,会麻烦一点点,但是很灵活,我们可以直接去 OpenJDKOracle 官网自由选择需要的 JDK 版本。

下面,以安装 oracle jdk9 为例演示具体的安装步骤。

1. 下载 JDK 安装包
2. 解压
 tar xzvf jdk-9.0.4_linux-x64_bin.tar.gz
3. 移动到/usr/lib/jvm(如果是第一次安装,没有这个目录就自己手动建一个)
sudo mv jdk-9.0.4 /usr/lib/jvm/oracle-jdk-9
4. 创建软连接
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/oracle-jdk-9/bin/java 1
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/oracle-jdk-9/bin/javac 1

因为 JDK9 中引入了jshell,所以还需要建立 jshell 命令的软连接

sudo update-alternatives --install /usr/bin/jshell jshell /usr/lib/jvm/oracle-jdk-9/bin/jshell 1

JDK 版本的切换

如果需要安装多个版本的 JDK,就重复上面安装方法的第三种就行了。

主要说一下多个版本之间的切换,我们可以通过修改 /etc/alternatives 目录下的软连接,指向我们需要的 JDK 版本,从而达到切换不同版本 JDK 的目的,主要有以下几个比较重要的命令。

1. 切换 java 命令软连接指向

执行 sudo update-alternatives --config java 命令,会有进入如下界面:

JDK 版本

这个界面列出了我们安装过的所有 JDK 版本,在右下角输入我们想要使用的 JDK 版本序号,然后回车,即可更改软连接指向。

通过 java -version 命令,查看当前的 Java 版本

$ java -version                                              
java version "9.0.4"
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)

OK,更改成功

2. 切换 javac 命令软连接指向

执行 sudo update-alternatives --config javac 命令,注意是 javac。其余步骤和上一步一模一样。
更改后通过 javac -version 命令查看

$ javac -version                                                   
javac 9.0.4

3. 切换 jshell 命令软连接指向

执行 sudo update-alternatives --config jshell 命令,其余步骤和第一步一样。
然后,输入 jshell 命令检查是否修改成功,测试结果如下图:

jshell 测试


关于 sudo update-alternatives --config xxx 命令的使用,可以查看这个手册 update-alternatives - Linux man page

最后

在今年 4 月份,Oracle 官方推出了新的协议,宣布 Oracle JDK 只允许个人学习研究免费使用,其他都要收费了

新的协议

所以未来 OpenJDK 可能会用的更多,关于 OpenJDK 和 Oracle JDK 的区别,可以通过下面两个链接去看看。

  1. Differences between Oracle JDK and OpenJDK
  2. oracle-jdk-vs-openjdk

参考资料

  1. ubuntu-install-jdk
  2. update-alternatives - Linux man page
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3187 引用 • 8213 回帖
6 操作
marshalby2 在 2019-12-27 16:13:26 更新了该帖
marshalby2 在 2019-12-24 08:54:23 更新了该帖
marshalby2 在 2019-12-20 21:32:22 更新了该帖
marshalby2 在 2019-12-20 21:31:19 更新了该帖 marshalby2 在 2019-12-20 21:28:17 更新了该帖 marshalby2 在 2019-12-20 14:50:22 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...