Ubuntu 中如何选择Java版本

如何在 Ubuntu 上安装多个版本的 Java

首先,我们得检查一下你的系统里是否已经装了 Java。这个很简单,只需运行下面这条命令:

  • 在 Linux 上安装 Java 的实战示例
  • update-java-alternatives --list

输出结果:

https://ubuntushell.com/wp-content/uploads/2024/03/checking-if-java-is-installed.webp

检查是否安装了 Java

如你所见,我的系统已经安装了 Java 11。但你可能和我不一样,你的系统中可能安装了多个版本的 Java,或者一个也没有。在这种情况下,为了本教程,你需要安装至少两个不同版本的 Java。

例如,我已经安装了 Java 11,要安装另一个版本的 Java,我首先会通过运行下面的命令,查看 Ubuntu 中所有可用的 Java 版本:

  • apt list -a openjdk--jdk

输出结果:

https://ubuntushell.com/wp-content/uploads/2024/03/list-of-java-available-versions.webp

可用的 Java 版本列表

从输出结果可以看到,有 6 个版本的 Java 可用:Java 8、11、17、18、19 和 21。

我已经在系统中安装了 Java 11,所以为了安装额外的 Java 版本,我选择了 Java 21。安装它的命令如下所示。

📝 注意

要安装你想要的 Java 版本,只需在下面的命令中将 21 替换为你想要的 Java 版本即可。

  • sudo apt install openjdk-21-jdk

安装完成后,你可以再次运行下面的命令,确认你系统中安装了哪些版本的 Java。

  • update-java-alternatives --list

输出结果:

https://ubuntushell.com/wp-content/uploads/2024/03/checking-installed-java-versions.webp

检查已安装的 Java 版本

如何在 Ubuntu 上更换 Java 版本

在 Ubuntu 上更换你现有的默认 Java 版本有两种方法:

  • 使用 update-alternatives 命令行工具。
  • 使用 G Alternatives 图形界面工具。

这两种方法都很简单,大多数情况下,推荐使用命令行工具,因为图形界面工具只是命令行工具的前端界面。

那么,我们先来看看命令行工具。

方法 1:使用 update-alternatives 命令

使用这种方法更换 Java 版本时,首先我们运行以下命令,找出当前正在使用的默认 Java 版本。

  • java --version

输出结果:

https://ubuntushell.com/wp-content/uploads/2024/03/checking-the-java-version.webp

检查 Java 版本

如你所见,我们安装了两个不同版本的 Java,11 和 21,但因为 Java 21 最近才安装,所以它成了我们环境的默认选择。

要更换默认的 Java 版本,无论是 Java 21 还是其他版本,只需运行带有 --config 标志的 update-alternatives 命令,并在其后附加 java,如下所示。

  • sudo update-alternatives --config java

输出结果:

https://ubuntushell.com/wp-content/uploads/2024/03/changing-default-java-version-using-update-alternatives.webp

使用 update-alternatives 更换默认 Java 版本

从列表中选择你想要的 Java 版本,并输入它对应的选择编号,使其成为默认。例如,要将 Java 11 设置为默认,我会输入并选择它的编号,即 1

完成后,你可以再次验证 Java 版本,确保你想要的版本现在已设置为默认。

  • java --version

输出结果:

https://ubuntushell.com/wp-content/uploads/2024/03/checking-the-java-version-1232.webp

检查 Java 版本

耶!你已经成功更换了默认的 Java 版本。

方法 2:使用 G Alternatives 图形界面工具

G Alternatives 是前面提到的 update-alternatives 命令的图形界面前端,其工作原理类似,但这次你有了图形界面来切换不同版本的 Java。

要在 Ubuntu 上安装 G Alternatives,只需使用以下命令:

  • sudo apt install galternatives

安装完成后,你可以通过运行以下命令来启动它:

  • sudo galternatives

在组部分(左侧边栏)选择 Java,然后从可用选项中选择你希望设置为默认的 Java 版本。

https://ubuntushell.com/wp-content/uploads/2024/03/changing-default-java-version-using-galternatives.webp

使用 galternatives 更换默认 Java 版本

选择你想要的 Java 版本后,简单地关闭 G Alternatives 并通过检查 Java 版本来验证更改。

  • java --version

输出结果:

https://ubuntushell.com/wp-content/uploads/2024/03/checking-the-java-version-19454.webp

检查 Java 版本

耶!!你做到了。

这就是在 Ubuntu 上切换不同 Java 版本所需要做的全部工作。但在执行这些步骤后,确保更改 JAVA_HOME 变量,以防在 IDE 中编码时出现任何问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/494590.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用patchelf解决vscode远程连接不支持低版本glibc的问题

使用patchelf解决vscode远程连接不支持低版本glibc的问题 目录 使用patchelf解决vscode远程连接不支持低版本glibc的问题1. 动态链接库下载2. 用 patchelf 修改 vscode-server 依赖的 glibc 版本 VScode 1.86 版本的 remote 要求 glibc 2.28 及以上,于是在各种旧版本…

CheatFetcher风灵月影修改器快速下载器

地址:https://github.com/MartinxMax/CheatFetcher/releases/tag/v1.0 CheatFetcher网络爬虫风灵月影作弊器快速下载器 采用翻译接口,实现输入中文转为英文搜索,并且英文结果转为中文输出你可以在此更快的下载到游戏修改器 示例 打开cmd窗口,或者其他终端运行 >CheatFe…

卷积变体-----分组卷积、深度可分离卷积、膨胀卷积

文章目录 一、分组卷积1.1 概述1.2 参数量变换 二、深度可分离卷积2.1 概述2.2 计算 三、膨胀卷积 一、分组卷积 1.1 概述 1. 分组卷积(Group convolution )最早在AlexNet中出现,由于当时的硬件资源有限,训练AlexNet时卷积操作不…

电商系列之满减

> 插:AI时代,程序员或多或少要了解些人工智能,前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 坚持不懈,越努力越幸运,大家…

zabbix分布式部署

基于zabbix-proxy的分布式监控 1.1 分布式监控的作用 1)分担 server 的集中式压力; 2)解决多机房之间的网络延时问题。 1.2 数据流向 agent --> proxy --> server 1.3 构成组件 zabbix-server:整个监控体系中最核心的组…

鸿蒙开发-UI-交互事件-手势事件

鸿蒙开发-UI-图形-绘制自定义图形 鸿蒙开发-UI-图形-页面内动画 鸿蒙开发-UI-图形-组件内转场动画 鸿蒙开发-UI-图形-弹簧曲线动画 鸿蒙开发-UI-交互事件-通用事件 鸿蒙开发-UI-交互事件-键鼠事件 鸿蒙开发-UI-交互事件-焦点事件 文章目录 前言 一、绑定手势方法 1. gesture …

【tingsboard开源平台】下载数据库,IDEA编译,项目登录

一, PostgreSQL 下载 需要看官网的:点此下载直达地址:点此进行相关学习:PostgreSQL 菜鸟教程 二,PostgreSQL 安装 点击安装包进行安装 出现乱码错误: There has been an error. Error running C:\Wind…

pyecharts操作二

pyecharts操作二 pyecharts 是一个用于生成Echarts图表的Python库。Echarts是百度开源的一个数据可视化JS库,可以生成一些非常酷炫的图表。 环境安装 pip install pyecharts 检查版本 import pyecharts print(pyecharts.version) 2.0.3 3D柱状图绘制 import p…

设计模式之组合模式解析

组合模式 1)概述 1.定义 组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。 组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性,组合模式又称为“整体—部分”(…

用Unity3D实现简单的RPG游戏

文章目录 开发流程及关键要素说明**1. **环境设置与项目创建******2. **场景搭建******3. **角色控制******4. **用户输入处理******5. **敌人与战斗系统******6. **物品与装备系统******7. **任务与对话系统******8. **UI与菜单系统******9. **保存与加载系统******10. **测试…

以太网链路聚合——增加带宽,解决生成树收敛慢的问题

目录 一.对STP生成树的补充 1.STP接口状态 2.STP生成树的改进 二.网络可靠性 1.单板可靠性 2.设备可靠性 3.链路可靠性 三.链路聚合 1.多条链路聚合增加带宽 2.链路聚合术语 四.链路聚合模式 1.手动模式 2.LASP模式 (1).LASP术语 (2&…

SecurityOauth2

引入SpringSecurity SpringSecurity 实现原理是提供了一个过滤器链,其中主要过滤器如下所示: 认证流程示意: 授权过程 SpringSecurity 会使用 FilterSecurityInterceptor 来进行权限校验,在 FilterSecurityInterceptor 中 会从…

Go-js,css,html压缩和混淆(可直接使用)

前提条件: 本地安装nodejs环境然后配置全局环境变量。 运行以下命令安装uglify压缩工具 npm install uglify-js -g 测试是否安装成功 uglifyjs -v 使用方式: 根据不同的操作系统取对应的压缩工具,然后将压缩工具放到项目根目录下,然后执行即可 工具文件: https://gitee.com…

协程库-锁类-实现线程互斥同步

mutex.h:信号量,互斥锁,读写锁,范围锁模板,自旋锁,原子锁 锁 **锁不能进行拷贝操作:**锁是用于管理多线程并发访问共享资源的同步原语。这些锁包括互斥锁(mutex)、读写锁…

ElementUI中的el-table表格实现动态添加一行、删除一行、清空所有行

ElementUI中的el-table表格实现动态添加一行、删除一行、清空所有行 1、需求分析2、代码实现HTMLdatamethods 1、需求分析 ElementUI中的el-table中实现动态添加一行、删除一行、清空所有行 2、代码实现 HTML <div class"middle-wrapper"><el-buttontype…

Golang hash/crc32 库实战指南:从基础到优化

Golang hash/crc32 库实战指南&#xff1a;从基础到优化 引言理解CRC32hash/crc32库概览实战技巧数据校验性能优化多线程应用 错误处理与调试错误处理调试 实际案例分析结论 总结重点回顾 引言 在现代软件开发中&#xff0c;数据的完整性和安全性至关重要。无论是数据库存储、…

Python抓取抖音直播间数据:技术探索与实践

目录 一、引言 二、技术准备 三、分析抖音直播间网页结构 四、编写爬虫代码 五、处理反爬虫机制 六、数据清洗与存储 七、总结 一、引言 随着互联网的快速发展&#xff0c;直播行业已成为当下的热门领域。抖音作为其中的佼佼者&#xff0c;吸引了大量的用户和主播。对于…

使用vue构建一个简单实用的春节红包插件!

摘要&#xff1a;本文将介绍如何使用Vue.js构建一个简单实用的春节红包插件。该插件通过模拟红包的打开和关闭过程&#xff0c;以及金额的随机分配&#xff0c;为春节红包活动提供了一个有趣且互动的体验。 一、引言 在春节这个充满欢乐和祝福的时刻&#xff0c;红包成为了传递…

Avalonia11.0.2+.Net6.0支持多语言,国际化使用DynamicResource绑定数据

Avalonia11.0.2+.Net6.0支持多语言,国际化使用DynamicResource绑定数据 介绍调整的内容效果展示介绍 本章内容是对上一章博客的补充,当时我们用的是自定义扩展的方式实现了多语言数据的绑定,本章我们用标准的 Text="{DynamicResource 名称}" 来替换 Text="{i…

iphoneX系统的参数

1. 2. 3. 4. 5.相关的网址信息 Apple iPhone X 規格、价格和评论 | Kalvo Apple iPhone X 規格、价格和评论 | Kalvo
最新文章