Linux同时安装多个JDK

news2024/10/9 15:04:06

Linux同时安装多个JDK

  • 一、JDK
    • 1.1、JDK的下载
    • 1.2、解压并放置目录
  • 二、通过alias切换版本
    • 2.1、修改profile文件
    • 2.2、使用和验证
  • 三、使用update-alternatives工具
    • 3.1、修改profile文件
    • 3.2、指定JDK版本
    • 3.3、使用和验证
  • 四、总结

一、JDK

1.1、JDK的下载

JDK官网下载:https://www.oracle.com/java/technologies/downloads/

JDK8下载:https://download.oracle.com/otn/java/jdk/8u401-b10/4d245f941845490c91360409ecffb3b4/jdk-8u401-linux-x64.tar.gz

JDK17下载:https://www.oracle.com/java/technologies/downloads/

JDK21下载:https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz

Linux环境可直接下载到服务器:

wget https://download.oracle.com/otn/java/jdk/8u401-b10/4d245f941845490c91360409ecffb3b4/jdk-8u401-linux-x64.tar.gz

wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz

wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz

提示:下载完成之后先进行解压处理

1.2、解压并放置目录

  • 1、新建目录存放JDK
cd /
mkdir java
  • 2、解压已下载的JDK
tar -zxvf jdk-8u401-linux-x64.tar.gz
tar -zxvf jdk-17_linux-x64_bin.tar.gz
tar -zxvf jdk-21_linux-x64_bin.tar.gz

二、通过alias切换版本

2.1、修改profile文件

  • 1、编辑profile文件
vi /etc/profile
  • 2、profile文件内容追加
export JAVA_HOME=/java/jdk1.8.0_211
export CLASSPATH=$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH

alias java8='export JAVA_HOME=/java/jdk1.8.0_211 && export CLASSPATH=.:${JAVA_HOME}/lib && export PATH=${JAVA_HOME}/bin:$PATH && java -version'
alias java17='export JAVA_HOME=/java/jdk-17.0.12 && export CLASSPATH=.:${JAVA_HOME}/lib && export PATH=${JAVA_HOME}/bin:$PATH && java -version'
alias java21='export JAVA_HOME=/java/jdk-21.0.4 && export CLASSPATH=.:${JAVA_HOME}/lib && export PATH=${JAVA_HOME}/bin:$PATH && java -version'
  • 3、profile文件刷新
source /etc/profile

2.2、使用和验证

  • 1、查看版本
java -version

在这里插入图片描述

  • 2、版本切换
java8
java17
java21

在这里插入图片描述


三、使用update-alternatives工具

3.1、修改profile文件

  • 1、编辑profile文件
vi /etc/profile
  • 2、profile文件内容追加
export JAVA_HOME=/usr/bin/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/bin:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
  • 3、profile文件刷新
source /etc/profile

3.2、指定JDK版本

  • 1、初始化alternatives,告知系统JDK的安装
alternatives --install /usr/bin/java java /java/jdk1.8.0_211 8
alternatives --install /usr/bin/java java /java/jdk-17.0.12 17
alternatives --install /usr/bin/java java /java/jdk-21.0.4 21

sudo update-alternatives --install /usr/bin/java java /java/jdk1.8.0_211 8
sudo update-alternatives --install /usr/bin/java java /java/jdk-17.0.12 17
sudo update-alternatives --install /usr/bin/java java /java/jdk-21.0.4 21
  • 2、配置默认的JDK版本
alternatives --config java
或
sudo update-alternatives --config java

在这里插入图片描述


3.3、使用和验证

  • 1、查看版本
java -version

在这里插入图片描述

  • 2、版本切换
alternatives --config java

在这里插入图片描述

  • 3、新建shell脚本

新建、编辑文件

touch javaVersion.sh
vim javaVersion.sh

内容增加

alternatives --config java

java -version

脚本运行

sh javaVersion.sh

提示:后续方便使用可以直接运行脚本即可


四、总结

建议:使用第二种,比较方便操作

OK,就这些吧。
有什么不对的还望指正,书写不易,觉得有帮助就点个赞吧!☺☺☺

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

抖音外卖小时达服务商申请渠道开通,首选服务商推荐!

近日,国内头部短视频平台抖音正式宣布取消小时达业务的城市限制,并开启服务商的招募工作。随即,全国各地的商家和有意向进入本地生活赛道的创业者们都开始打听起了与抖音小时达服务商相关的各类消息,以抖音小时达服务商怎么申请为…

大模型生成PPT大纲优化方案:基于 nVidia NIM 平台的递归结构化生成

大模型生成PPT大纲优化方案:基于 nVidia NIM 平台的递归结构化生成 待解决的问题 生成PPT大纲是一种大模型在办公场景下应用的常见需求。 然而: 目前直接让大模型生成大纲往往是非结构化的,输出格式多样,难以统一和规范&#…

ZBrush入门使用介绍——17、FiberMesh

大家好,我是阿赵。   继续介绍ZBrush的使用。这次来看看FiberMesh功能。这是一个可以模仿毛发的功能。 一、 使用FiberMesh的预览功能 先准备一个模型,并生成多边形网格 然后按着Ctrl,在模型的表面画一个遮罩。 找到FiberMesh功能&#…

QT:计算点到线段的垂线段的距离

描述 在Qt中,要计算一个点到一条线段的垂线段的长度(即点到线段上最近点的距离,且这个点是垂直于线段的),你不能直接使用QVector2D::distanceToLine,因为这个方法计算的是点到直线的垂直距离,而…

线程中的异常处理

线程中的异常处理 concurrent.futures — 启动并行任务 — Python 3.13.0 文档 from concurrent.futures import ThreadPoolExecutordef task():a 1 / 0print(任务执行中...)with ThreadPoolExecutor(max_workers5) as t:for i in range(10):worker t.submit(task)没有任任…

Unity实现自定义图集(二)

以下内容是根据Unity 2020.1.0f1版本进行编写的   实现一个自定义图集,该怎么入手呢。首先简单思考一下unity是怎么实现图集的。 因为unity的ui部分是开源的,所以我们可以看到UGUI的源代码,另外,Unity的内置Shader也是开源的,可以直接在官网下载(在下载的网页选择Built…

一文彻底搞懂大模型 - Hugging Face Transformers

Hugging Face Hugging Face Transformers是一个开源的预训练模型库,旨在将NLP领域的最新进展向更广泛的机器学习社区开放。该库包含了经过精心设计的最先进的Transformer架构,并提供了易于使用的API**,使得研究人员和开发者能够轻松地加载、…

Linux环境安装Anaconda

1.环境检查 uname -a2.下载Anaconda 下载地址: Anaconda 根据自己的版本下载 3.安装Anaconda 将下载的文件上传到Linux服务器设置权限 chmod x Anaconda3-2024.02-1-Linux-x86_64.sh执行.sh文件 ./Anaconda3-2024.02-1-Linux-x86_64.sh直接回车,一直回车&…

解决:由于没有远程桌面授权服务器可以提供许可证,远程会话连接已断开.请跟服务器管理员联系

今天早上远程连接京东云服务器,居然蹦出了下面的提示 查了下这个提示,出现这个报错的原因有两种: 1. 系统添加了“远程桌面会话主机”角色后,该授权到期(可以免费试用120天,到期需要付费才能使用&#xff…

有哪些AI产品可以真正提高办公和学习效率?

你还在为加班熬夜、效率低下而苦恼吗?还在担心错过AI时代的风口,被时代抛弃吗? 告别效率焦虑,AI赋能你的学习和工作 现在有一些AI产品能为我们提供帮助,比如豆包、KIMI、通义千问、ChatGPT等等,帮助我们做P…

【深度学习】—激活函数、ReLU 函数、 Sigmoid 函数、Tanh 函数

【深度学习】—激活函数、ReLU 函数、 Sigmoid 函数、Tanh 函数 4.1.2 激活函数ReLU 函数参数化 ReLU Sigmoid 函数背景绘制 sigmoid 函数Sigmoid 函数的导数 Tanh 函数Tanh 函数的导数总结 4.1.2 激活函数 激活函数(activation function)用于计算加权和…

【有啥问啥】逆向工程(Reverse Engineering,RE):深度解析与技术方法

逆向工程(Reverse Engineering,RE):深度解析与技术方法 引言 逆向工程(Reverse Engineering,简称RE),作为现代科技领域中的一项重要技术,其影响力已远远超越了传统的硬…

“聪明车”上线“智慧路”!批量苏州金龙海格公交甘肃静宁投运

近日,甘肃省静宁县智慧公交系统正式上线,20台苏州金龙海格蔚蓝新能源公交车正式投入使用,大大提升了当地城市公共交通的智能水平以及城市形象。 智慧交通,势在必行 随着公共交通出行需求的不断升级,客运市场对于智能化…

爬虫请求响应以及提取数据

爬虫请求响应以及提取数据 回顾: 网页给客户端响应数据, 有哪些写法(在爬虫入门之爬虫原理以及请求响应这篇博客咯嘛有提到)? 1.响应对象.text(获取网页数据的时候会用到) 2.响应对象.content(将图片, 音频或视频等数据存放到文件的时候会用到) 那这一篇文章, 介绍一个新的写法…

小白打造爆款必备:速卖通平台测评与买家号培养全解析

随着亚马逊平台风控的持续升级,众多卖家面临着封店、侵权等诸多挑战,迫使许多商家开始探索其他市场,如速卖通、Temu等平台,这些平台对新入驻的卖家提供了显著的流量扶持。在速卖通平台的运营中,如何迅速且有效地提升店…

动态规划11:面试题 17.16. 按摩师

动态规划解题步骤: 1.确定状态表示:dp[i]是什么 2.确定状态转移方程:dp[i]等于什么 3.初始化:确保状态转移方程不越界 4.确定填表顺序:根据状态转移方程即可确定填表顺序 5.确定返回值 题目链接:面试…

论文翻译 | Language Models are Few-Shot Learners 语言模型是少样本学习者(上)

摘要 最近的工作表明,通过在大规模文本语料库上进行预训练,然后在特定任务上进行微调,许多自然语言处理(NLP)任务和基准测试都取得了显著的提升。尽管这种方法在架构上通常是任务无关的,但它仍然需要成千上…

【vue2.7.16系列】手把手教你搭建后台系统__配置路由(3)

新建页面 我们把 components 改名为 views,并在 views 目录下添加三个页面,Login.vue,Home.vue,404.vue。 三个页面内容简单相似,只有简单的页面标识,如首页页面是 “Home Page”。 Home.vue,…

windows客户端SSH连接ubuntu/linux服务器,三种网络连接:局域网,内网穿透(sakuraftp),虚拟局域网(zerotier)

windows客户端SSH连接ubuntu/linux服务器,三种网络连接:局域网,内网穿透(sakuraftp),虚拟局域网(zerotier) 目录 SSH简述、三种网络连接特点SSH简述局域网内连接内网穿透&#xff08…

SpringBoot助力校园资料分享:快速上手指南

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多学生、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常适…