Ubuntu20.04 系统安装多个版本的 JDK【多版本jdk切换:sudo update-alternatives --config java】
前言
目前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安装包,然后解压出来,再建立软连接,就可以了。
这种方式相对于前两种方式,会麻烦一点点,但是很灵活,我们可以直接去 OpenJDK 和 Oracle 官网自由选择需要的JDK版本。
下面,以安装oracle jdk9为例演示具体的安装步骤。
-
下载 oracle jdk9
-
解压
1 | tar xzvf jdk-9.0.4_linux-x64_bin.tar.gz |
- 移动到/usr/lib/jvm(如果是第一次安装,没有这个目录就自己手动建一个)
1 | sudo mv jdk-9.0.4 /usr/lib/jvm/oracle-jdk-9 |
- 创建软连接
1 | sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/oracle-jdk-9/bin/java 1 |
JDK版本的切换
如果需要安装多个版本的JDK,就重复上面安装方法的第三种就行了。
主要说一下多个版本之间的切换,分为三个步骤:
1. 切换java命令
执行sudo update-alternatives --config java 命令,会有进入如下界面:
切换JDK版本
这个界面列出了我们安装过的所有JDK版本,在右下角输入我们想要使用的JDK版本序号,然后回车,即可更改。
通过java -version命令,查看当前的Java版本
1 | $ java -version |
OK,更改成功
2. 切换javac 命令
执行sudo update-alternatives --config javac 命令,注意是javac。其余步骤和上一步一模一样。
更改后通过javac -version命令查看
1 | $ javac -version |
3. 更改JAVA_HOME环境变量
编辑 /etc/enviroment文件,在文件末尾加入 JAVA_HOME=/usr/lib/jvm/oracle-jdk-9/(就是JDK的安装路径),更新设置source /etc/environment,执行echo $JAVA_HOME命令查看配置是否生效。
注 :
关于 sudo update-alternatives --config xxx 命令的使用,可以查看这个手册 update-alternatives - Linux man page
最后
在今年4月份,Oracle官方推出了新的协议,宣布Oracle JDK只允许个人学习研究免费使用,其他都要收费了
新的协议
所以未来OpenJDK可能会用的更多,关于OpenJDK和Oracle JDK的区别,可以通过下面两个链接去看看。
- Differences between Oracle JDK and OpenJDK
- oracle-jdk-vs-openjdk
参考资料
- ubuntu-install-jdk
- update-alternatives - Linux man page
Ubuntu20.4 安装openjdk 11/13/16/17,配置环境变量,卸载。_ubuntu openjdk11_Handsome_Zpp的博客-CSDN博客Ubuntu20.04 安装和卸载openJDK_ubuntu openjdk_broadview_java的博客-CSDN博客
来源地址:https://blog.csdn.net/u013250861/article/details/131141098
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341