离线部署jdk8,jdk17, jdk21

目录

    • 一、下载地址
    • 二、环境
    • 三、离线部署
      • 思路
      • 步骤
    • 四、部署脚本

在开发过程中,有时我们需要在同一台机器上安装多个不同版本的 JDK,以满足不同项目的需求。本文将详细介绍如何在 Ubuntu 24.04 中离线安装 JDK8、JDK17 和 JDK21。

一、下载地址

建议下载Oracle Jdk,目前商业还是免费。等收费的时候再换其他家的,比如开源的Open Jdk。

因为我之前部署nacos的时候出现了问题就是jdk引起的;

官网地址:Java Archive | Oracle 中国

由于自己的服务器是64位的;所以下载64位安装包

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

jdk17:https://download.oracle.com/java/17/archive/jdk-17.0.12_linux-x64_bin.tar.gz

jdk8: https://www.oracle.com/cn/java/technologies/javase/javase8u211-later-archive-downloads.html#license-lightbox

image-20241023211739238

二、环境

ubuntu 24.04

安装jdk8, jdk17,jdk21;

并通过修改环境变量的方式来切换jdk版本;

大部分部署的系统中,可以手动配置JAVA_HOME的路径来指定jdk的版本。

三、离线部署

思路

  • 上传安装包到服务器中;
  • 解压缩到任意为止,授权;
  • 指定环境变量PATH

以下以jdk8举例;

步骤

  1. 将安装包复制到目标服务器,比如

    /root/jdk-8u421-linux-x64.tar.gz

  2. 解压安装包

tar -zxvf /root/jdk-8u421-linux-x64.tar.gz -C /usr/share
  1. 配置环境变量

vim /etc/profile

在文件末尾添加以下内容:

# JDK 8
export JAVA_HOME_8=/usr/share/jdk1.8.0_421
export JAVA_HOME=$JAVA_HOME_8
export PATH=$JAVA_HOME/bin:$PATH

保存,刷新环境变量

source /etc/profile

至此 jdk8 部署完毕;

image-20241023212053208

jdk17 与 jdk 22 安装思路相同;只是用哪个jdk版本通过 /etc/profile 中进行控制

# 解压jdk17
tar -zxf /root/jdk-17.0.12_linux-x64_bin.tar.gz -C /usr/share
# 解压jdk21
tar -zxf /root/jdk-21_linux-x64_bin.tar.gz -C /usr/share/

# 修改 /etc/profile

# JDK 8
export JAVA_HOME_8=/usr/share/jdk1.8.0_421
# JDK 17
export JAVA_HOME_17=/usr/share/jdk-17.0.12
# JDK 21
export JAVA_HOME_21=/usr/share/jdk-21.0.5

# 这里控制使用哪个jdk
export JAVA_HOME=$JAVA_HOME_8
export PATH=$JAVA_HOME/bin:$PATH

image-20241023212551750

四、部署脚本

#!/bin/bash

# 安装 JDK8
echo "安装 JDK8..."
sudo tar -zxf /root/jdk-8u421-linux-x64.tar.gz -C /usr/share
echo '# JDK8 ' >> /etc/profile
echo 'export JAVA_HOME_8=/usr/share/jdk1.8.0_421' >> /etc/profile



# 安装 JDK17
echo "安装 JDK17..."
sudo tar -zxf /root/jdk-17.0.12_linux-x64_bin.tar.gz -C /usr/share
echo '# JDK8 ' >> /etc/profile
echo 'export JAVA_HOME_17=/usr/share/jdk-17.0.12' >> /etc/profile

# 安装 JDK21
echo "安装 JDK21..."
sudo tar -zxf /home/guoqing/jdk-8u421-linux-x64.tar.gz -C /usr/share
echo '# JDK8 ' >> /etc/profile
echo 'export JAVA_HOME_21=/usr/share/jdk-21.0.5' >> /etc/profile

# 这里设置当前的jdk版本
echo 'export JAVA_HOME=${JAVA_HOME_8}' >> /etc/profile
echo 'export PATH=${JAVA_HOME}/bin:$PATH' >> /etc/profile

source /etc/profile

echo "部署完成!如需切换jdk版本,请修改/etc/profile 中的JAVA_HOME 配置"
java -version

t PATH= J A V A H O M E / b i n : {JAVA_HOME}/bin: JAVAHOME/bin:PATH’ >> /etc/profile

source /etc/profile

echo “部署完成!如需切换jdk版本,请修改/etc/profile 中的JAVA_HOME 配置”
java -version



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

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

相关文章

融合DevOps打造企业高效流程体系的实践与探索

一、引言 转眼间,我已毕业十多年,在IT领域深耕不辍,曾涉足全栈研发、大数据研发、架构设计与项目管理等多个岗位,更主导过公司从市场到交付再到运营的全链条流程建设。在这漫长的职业生涯中,一个问题始终萦绕在我心头&…

web前端练习

01 代码&#xff1a;HTML部分 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>search</title>…

华为配置BFD状态与接口状态联动实验

组网图形 图1 配置BFD状态与接口状态联动组网图 BFD简介配置注意事项组网需求配置思路操作步骤配置文件 BFD简介 为了减小设备故障对业务的影响&#xff0c;提高网络的可靠性&#xff0c;网络设备需要能够尽快检测到与相邻设备间的通信故障&#xff0c;以便及时采取措施&…

百科知识|选购指南

百科知识||选购指南 百科知识选购指南茶叶分类茶叶的味道来源茶叶制作步骤名茶其他一些茶叶的知识 百科知识 选购指南 茶叶 分类 茶叶种类: 六大茶类完美分析介绍&#xff01;茶友推荐收藏 (aboxtik.com) 1.绿茶&#xff08;发酵率0%&#xff09; 2.白茶&#xff08;发酵率…

对杨笠没有意见,但对京东有 | 生活周刊 #5

持续分享高效率工具&#xff0c;以及日常生活、个人成长、运动健康和法律案例等的内容&#xff0c;欢迎关注 &#x1f4f6; 关于杨笠 对于杨笠&#xff0c;我对她没什么偏见&#xff0c;也好奇为什么代言京东会触发这么大的反弹&#xff0c;直到我看到杨笠的冒犯的艺术&#x…

Axure垂直菜单展开与折叠

亲爱的小伙伴&#xff0c;在您浏览之前&#xff0c;烦请关注一下&#xff0c;在此深表感谢&#xff01; 课程主题&#xff1a;Axure垂直菜单展开与折叠 主要内容&#xff1a;垂直菜单单击实现展开/折叠&#xff0c;点击各菜单项显示选中效果 应用场景&#xff1a;后台菜单设…

【python实战】利用代理ip爬取Alibaba海外版数据

引言 在跨境电商的业务场景中&#xff0c;数据采集是分析市场、了解竞争对手以及优化经营策略的重要环节。然而&#xff0c;随着越来越多企业依赖数据驱动决策&#xff0c;许多跨境电商平台为了保护自身数据&#xff0c;采取了更严格的防护措施。这些平台通过屏蔽大陆IP地址或部…

专业135+总分400+西安交通大学815869(原909)信号与系统考研经验电子信息与通信工程,真题,大纲,参考书

经过将近一年的考研复习&#xff0c;终于梦圆西安交大&#xff0c;今年专业课815(和专硕869&#xff08;原909&#xff09;差不多)信号与系统135&#xff0c;总分400&#xff0c;回想这一年的复习还有很多经验和大家分享&#xff0c;希望可以对大家复习有所帮助&#xff0c;少走…

Docker 与 Yocto

Yocto项目为什么需要Docker Yocto 项目并不直接依赖 Docker&#xff0c;但在某些情况下使用 Docker 可以为 Yocto 项目提供以下具体且实际的好处&#xff1a; 1. 环境一致性&#xff1a; Yocto 构建需要一个稳定且一致的开发环境。不同的 Linux 发行版可能会有不同的库版本、…

如何实现智能图像擦除

我们在拍照时&#xff0c;往往会拍到一些路人或者杂物&#xff0c;但是这个照片又不想删掉&#xff0c;那么有没有啥方法可以把照片中的特定部分给删除&#xff0c;然后还原这部分的原始内容呢&#xff1f;有些人可能会用ps&#xff0c;但是ps操作比较复杂并且效果还不是很好&a…

Photoshop中的混合模式公式详解

图层混合简介 图层混合&#xff08;blend&#xff09;顾名思义&#xff0c;就是把两个图层混合成一个。 最基本的混合是alpha融合&#xff08;alpha compositing&#xff09;&#xff0c;这是一个遵循光的反射与透射等&#xff08;简化版&#xff09;物理学原理的混合方式。 各…

信号与系统学习:傅里叶级数

一、基本概念 1. 什么是傅里叶级数&#xff1f; 傅里叶级数是一种数学工具&#xff0c;可以将一个周期函数分解为一系列正弦和余弦函数&#xff08;即三角函数&#xff09;的和。这些正弦和余弦函数的频率是原函数的整数倍。 2. 为什么要使用傅里叶级数&#xff1f; 信号分…

J2学习打卡

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 ResNet50V2 import torch import torch.nn as nn import torch.nn.functional as Fclass Bottleneck(nn.Module):expansion 4def __init__(self, inplanes,…

软考(中级-软件设计师)计算机系统篇(1024)

#1024程序员节|正文# 六、树和二叉树 6.1 树的基本概念 描述结果结点的度子结点的个数树的度最大结点的度叶子结点没有子结点的结点内部结点除根结点和叶子结点外的结点父节点有子结点的结点子节点有父结点的结点兄弟节点有同一个父结点的结点层次4层 6.2 二叉树的基本概念…

AI时代LabVIEW程序员的未来出路

随着GPT等AI技术的迅速发展&#xff0c;AI已经能够自动完成大量的代码生成工作&#xff0c;这无疑给LabVIEW程序员带来了新的挑战和机遇。尽管AI能够替代部分编程工作&#xff0c;LabVIEW程序员依然可以通过以下几方面找到出路&#xff1a; 复杂系统集成&#xff1a; AI可以帮助…

【软考高级架构】关于分布式数据库缓存redis的知识要点汇总

一.分布式数据库的含义 分布式数据库缓存指的是在高并发的环境下&#xff0c;为了减轻数据库的压力和提高系统响应时间&#xff0c;在数据库系统和应用系统之间增加一个独立缓存系统。 二.常见的缓存技术 &#xff08;1&#xff09;MemCache: Memcache是一个高性能的分布式的内…

你对MySQL的having关键字了解多少?

在MySQL中&#xff0c;HAVING子句用于在数据分组并计算聚合函数之后&#xff0c;对结果进行进一步的过滤。它通常与GROUP BY子句一起使用&#xff0c;以根据指定的条件过滤分组。HAVING子句的作用类似于WHERE子句&#xff0c;但WHERE子句是在数据被聚合之前进行过滤&#xff0c…

闯关leetcode——205. Isomorphic Strings

大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/isomorphic-strings/ 内容 Given two strings s and t, determine if they are isomorphic. Two strings s and t are isomorphic if the characters in s can be replaced to get t. All occur…

2021亚洲机器学习会议:面向单阶段跨域检测的域自适应YOLO(ACML2021)

原文标题&#xff1a;Domain Adaptive YOLO for One-Stage Cross-Domain Detection 中文标题&#xff1a;面向单阶段跨域检测的域自适应YOLO 1、Abstract 域转移是目标检测器在实际应用中推广的主要挑战。两级检测器的域自适应新兴技术有助于解决这个问题。然而&#xff0c;两级…

现场总是发生急停,很可能是PLC和设置间网络中断

如果你的现场总是发生急停&#xff0c;很可能是PLC和设置间网络中断&#xff0c;本文用一个真实案例告诉你问题背后的原因和解决方法&#xff01; 这是一台生产汽车配件的机器&#xff0c;使用1500F的控制器连接机器人控制器&#xff0c;现场装置总会莫名其妙的发生急停故障。…