centos7 java多版本切換

文章目錄

  • 前言
  • 一、卸載原來的jdk
  • 二、下載jdk
  • 三、解壓jdk
  • 三、配置環境變量
  • 四、切換JAVA環境變量


前言

本來是為了安裝jenkins,安裝了對應的java,node,maven,git等環境,然后運行jenkins時候下載插件總是報錯,我下載的jenkins是 2.346.1 版本,查了不少說是替換鏡像源的,我替換了鏡像源,還是不行,最終打算安裝最新版本jenkins試試,安裝最新版本就需要用到java21了。


一、卸載原來的jdk

之前是通過 yum 命令下載了openjdk8

yum -y install java-1.8.0-openjdk*
# 查看CentOS自帶JDK是否已安裝:
yum list installed | grep java
# 如果存在自帶的jdk,刪除自帶的jdk
yum -y remove java-1.8.0-openjdk*
yum -y remove tzdata-java.noarch

為什么不下載openjdk21,是因為centos 不支持,通過命令查看,最多支持到openjdk11

yum search java|grep jdk

在這里插入圖片描述

二、下載jdk

下載jdk8
https://mirrors.huaweicloud.com/java/jdk/8u202-b08/
在這里插入圖片描述
下載完成以后上傳到服務器上

通過命令下載jdk21,下載到 /opt/software 下

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

三、解壓jdk

解壓jdk8 ,到目錄下

cd /opt/software

通過命令解壓

 tar -zxvf jdk-8u202-linux-x64.tar.gz

解壓jdk21 ,到下載目錄下

cd /opt/software

在這里插入圖片描述
輸入解壓命令

tar -zxvf /opt/software/jdk-21_linux-x64_bin.tar.gz

在這里插入圖片描述

三、配置環境變量

創建java8環境配置文件

sudo vi /etc/profile.d/java8.sh

設置環境變量,注意路徑

export JAVA_HOME=/opt/software/jdk1.8.0_202
export PATH=$JAVA_HOME/bin:$PATH
export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"

創建java21 環境配置文件

sudo vi /etc/profile.d/java21.sh

設置環境變量,注意路徑

export JAVA_HOME=/opt/software/jdk-21.0.7
export PATH=$JAVA_HOME/bin:$PATH
export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"

四、切換JAVA環境變量

要切換Java版本,只需啟用或禁用相應的環境變量配置文件。
如果已經在 /etc/profile 里面配置了java的環境變量請注釋或者刪除。
激活Java 8:

source /etc/profile.d/java8.sh

在這里插入圖片描述
激活Java 21:

source /etc/profile.d/java21.sh

在這里插入圖片描述


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/88242.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/88242.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/88242.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

用Python和OpenCV從零搭建一個完整的雙目視覺系統(四)

本系列文章旨在系統性地闡述如何利用 Python 與 OpenCV 庫,從零開始構建一個完整的雙目立體視覺系統。 本項目github地址:https://github.com/present-cjn/stereo-vision-python.git 在上一篇文章中,我們完成了相機標定這一最關鍵的基礎步驟…

STM32-中斷

中斷分為兩路:12345用于產生中斷;678產生事件外設為NVIC設計流程:使能外設中斷設置中斷優先級分組初始化結構體編寫中斷服務函數初始化結構體:typedef struct {uint8_t NVIC_IRQChannel; 指定要使能或禁用的中斷通道例如: TIM3_I…

Shader面試題100道之(61-80)

Shader面試題(第61-80題) 以下是第61到第80道Shader相關的面試題及答案: 61. 什么是UV展開?它在Shader中有什么作用? UV展開是將3D模型表面映射到2D紋理空間的過程,用于定義紋理如何貼合模型。在Shader中&a…

C#基礎:Winform桌面開發中窗體之間的數據傳遞

1.主窗體using System; using System.Windows.Forms;public partial class MainForm : Form {public MainForm(){InitializeComponent();}// 打開二級窗體private void btnOpenSecondaryForm_Click(object sender, EventArgs e){// 創建二級窗體并訂閱事件SecondaryForm second…

工程改Mvvm

導入CommunityToolKit vs2017只能導入7 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Input;namespace WpfApp1.vi…

【HarmonyOS Next之旅】DevEco Studio使用指南(四十二) -> 動態修改編譯配置

目錄 1 -> 通過hook以及插件上下文實現動態配置 2 -> 在hvigorfile.ts中通過overrides關鍵字導出動態配置 3 -> 通過hook以及插件上下文動態配置構建配置 3.1 -> 修改每個hvigorNode中的build-profile.json5 3.2 -> 修改module.json5中的配置信息 3.3 -&g…

Android View事件分發機制詳解

Android 的 View 事件分發機制是處理用戶觸摸(Touch)事件的核心流程,它決定了觸摸事件如何從系統傳遞到具體的 View 并被消費。理解這個機制對于處理復雜的觸摸交互、解決滑動沖突至關重要。 核心思想:責任鏈模式 事件分發遵循一個…

【CMake】自定義package并通過find_package找到

在一些場景下我們需要編寫一些庫,并希望其他程序可以找到這些庫并引用。 CMake采用package這個概念來解決這個問題。 關于CMake的find_package文章有很多,但這些文章的內容大多不直觀講了一堆講不到點子上,讓人看了一頭霧水。因此我想通過本文…

【MATLAB例程】AOA與TDOA混合定位例程,適用于二維環境、3個錨點的定位|附代碼下載鏈接

本 MATLAB 程序實現了基于 Angle of Arrival (AOA) 與 Time Difference of Arrival (TDOA) 的二維定位方法,通過自適應融合與最小二乘優化,實現對未知目標的高精度估計。本例中固定使用了 3 個基站(錨點),算法框架支持…

磐維數據庫panweidb集中式集群配置VIP【添加、刪除和修改】

0 說明 panweidb集中式集群為了防止主備切換后應用連接無法切換到新主庫,需要配置vip,應用可以只通過該ip與數據庫連接,不用感知數據庫在哪個節點上。 panweidb中配置 VIP主要依賴 CM 組件的 VIP 仲裁功能,通過回調腳本在主備切換…

python的保險業務管理與數據分析系統

前端開發框架:vue.js 數據庫 mysql 版本不限 后端語言框架支持: 1 java(SSM/springboot)-idea/eclipse 2.NodejsVue.js -vscode 3.python(flask/django)–pycharm/vscode 4.php(thinkphp/laravel)-hbuilderx 數據庫工具:Navicat/SQLyog等都可以 保險行業…

R語言如何接入實時行情接口

目錄 1. 安裝必要的R包 2. 導入庫 3. 連接WebSocket 4. 處理連接成功后的操作 5. 處理接收到的消息 6. 處理連接關閉和錯誤 7. 發送心跳數據 8. 自動重連機制 9. 啟動連接和重連 總結 在數據分析和金融研究中,實時行情數據的獲取至關重要,但市…

Redis數據安全性分析

Redis高可用與數據安全機制深度解析前置知識:Redis基礎安裝與使用(主從復制、哨兵集群、Cluster集群搭建)一、Redis性能壓測工具 工具名稱:redis-benchmark核心作用:快速基準測試Redis性能使用場景:評估不同…

差分和前綴和

差分和前綴和的原理、用法和區別。前綴和(Prefix Sum)核心思想:預處理數組的前綴和,快速回答「區間和查詢」 適用場景:數組靜態(更新少、查詢多),需要頻繁計算任意區間的和1. 定義與…

C++并發編程-12. 用內存順序實現內存模型

前情回顧 前文我們介紹了六種內存順序,以及三種內存模型,本文通過代碼示例講解六種內存順序使用方法,并實現相應的內存模型。全局一致性模型同步模型(獲取和釋放)松散模型memory_order_seq_cst memory_order_seq_cst代表全局一致性順序&#…

AI測試革命:從智能缺陷檢測到自愈式測試框架的工業實踐

AI測試革命:從智能缺陷檢測到自愈式測試框架的工業實踐 希望對大家有用! 目錄AI測試革命:從智能缺陷檢測到自愈式測試框架的工業實踐希望對大家有用!一、傳統測試之殤:工業質檢的切膚之痛二、智能缺陷檢測系統架構1. …

二、深度學習——損失函數

二、損失函數損失函數定義:損失函數是用來衡量模型參數的質量的函數,衡量方式是比較網絡輸出和真實輸出的差異別名:損失函數(loss function),代價函數(cost function),目…

面向數據報的套接字通道技術詳解

數據報通道基礎 通道特性與創建方式 java.nio.channels.DatagramChannel類實例代表數據報通道,默認處于阻塞模式。通過configureBlocking(false)方法可將其配置為非阻塞模式。創建數據報通道需調用其靜態open()方法,若用于IP組播則需指定組播組的地址類型…

147.在 Vue3 中使用 OpenLayers 地圖上 ECharts 模擬飛機循環飛行

🧩 效果預覽 👇 飛機從多個城市起飛并向其他城市飛行,動畫流暢,地圖可縮放拖拽: 📦 一、項目技術棧 技術用途Vue 3現代前端框架OpenLayers地圖底圖渲染ECharts ol-echarts飛機飛行動畫渲染ol-echarts將 …

OCR與PDF解析的區別

我們日常所接觸的文檔中,經常能碰到多語言混合的文檔。比如論文試卷、財報研報、跨國票據都含有多種語言和文字。要將文檔中的內容識別并提取務必需要使用到OCR技術,而傳統的OCR工具在處理這類型文檔的時候有局限性。早期的 OCR 系統識別精度有限&#x…