【Java】Windows切換Java8和Java11

現在有些項目要升級到Java17, 所以需要切換不同的java版本。

如何安裝Java8

由于已經安裝了j=Java8, 之前的安裝文章:【Java】jdk8安裝——英文版

如何安裝Java17

Java17下載地址

https://www.oracle.com/java/technologies/downloads/#java17-windows

在這里插入圖片描述

下載到電腦的安裝包

在這里插入圖片描述

安裝需要Windows電腦管理員權限:

在這里插入圖片描述

安裝過程只需要點擊下一步:

在這里插入圖片描述

由于只有一個C盤不需要切換安裝路徑我是直接點下一步安裝:

在這里插入圖片描述

安裝完成:

在這里插入圖片描述

刪除環境變量中安裝過程自動創建的path路徑,加上之前安裝Java8的就有3個,都刪除了,只保留之前配置的%JAVA_HOME%\bin路徑給來引用Java版本就可以了。

在這里插入圖片描述

在環境變量中新增2個環境變量,一個是JAVA8_HOME,一個是JAVA17_HOME各自把它們的安裝路徑填入,并將JAVA_HOME的內容改為默認引入這2個變量的其中一個。

通過環境變量切換Java

例如默認設置為Java17,那么JAVA_HOME的則填入%JAVA17_HOME%,想將java設置為Java8,那么同理JAVA_HOME的則填入%JAVA8_HOME%

在這里插入圖片描述

在命令行窗口輸入java -version,可以看到啟用的Java的版本號:

在這里插入圖片描述

當將環境變量引用為Java8后,JAVA_HOME的則填入%JAVA8_HOME%,重新打開一個命令行窗口再看看Java版本號

在這里插入圖片描述

已成功切換為Java8

在這里插入圖片描述

通過命令行臨時切換Java

如果不通過管理員權限切換,也可以臨時通過命令行進去Java版本的切換,但命令行只針對當前打開的命令行窗口有效,具體命令如下:

切換到 Java 17:

set JAVA_HOME=%JAVA17_HOME%
set PATH=%JAVA_HOME%\bin;%PATH%
java -version

切換到 Java 8:

set JAVA_HOME=%JAVA8_HOME%
set PATH=%JAVA_HOME%\bin;%PATH%
java -version

通過IDEA切換Java

還有一個好辦法可以不通過管理員權限和命令行切換Java版本和Maven版本,那就是使用IDEA在項目里設置。

切換Java版本:

設置位置:File / Project Structure / Project Settings / Project / SDK
在這里插入圖片描述
切換Maven版本:

在Intellij IDEA選擇自己電腦安裝好的Maven版本并應用,Maven安裝相對簡單只要下載下來,引用路徑就可以了,可參考我之前的安裝記錄:【Java】Maven3.5.0安裝,在IDEA切換Maven只需要引用不同Maven存放的路徑就可以了。

設置位置:File / Settings / Build, Execution, Deployment / Build Tools / Maven / Maven home path

在這里插入圖片描述

如果是只在項目切換號Java版本和Maven版本,在IDEA命令行不會生效的,那么需要執行一些Maven的命令,則可以通過Maven Helper插件的這個小工具:

在這里插入圖片描述

可以自己敲命令也可以通過雙擊的命令列表

在這里插入圖片描述

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

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

相關文章

SQLite 數據庫核心知識與 C 語言編程

一、數據庫基礎概念1.1 數據庫分類根據規模和應用場景,數據庫可分為以下幾類:大型數據庫:Oracle(適用于企業級高并發、大容量場景)中型數據庫:MySQL、MSSQL(適用于中小型系統、Web 應用&#xf…

Netty 調優篇:實戰配置、性能監控與常見坑

🚀 Netty 調優篇:實戰配置、性能監控與常見坑前面我們已經深入了 Netty 的 線程模型、Pipeline、EventLoop、內存池、零拷貝和背壓機制。 但在實際工作中,很多人踩坑的地方不是“源碼沒看懂”,而是 調優沒做好。 今天我們就從三個…

Linux Node.js 安裝及環境配置詳細教程

如果您喜歡此文章,請收藏、點贊、評論,謝謝,祝您快樂每一天。 一、Node.js是什么 Node.js是一個基于Chrome V8引擎的[JavaScript運行環境]。 Node.js使用了一個事件驅動、非阻塞式I/O 的模型。 Node.js是一個讓JavaScript運行在服務端的開…

呼叫中心系統IVR流程設計的心理學

呼叫中心的 IVR(交互式語音應答)系統看似是 “機器與用戶的對話”,實則暗藏對用戶心理的精準把握。其設計需圍繞降低焦慮、提升效率、強化信任三大核心目標,背后依托認知心理學、行為心理學、情感心理學等理論支撐。一、認知負荷理…

一些開源或免費的網絡管理工具

整理開源及免費網絡管理工具推薦,涵蓋監控、配置、安全、流量分析等場景,適用于不同規模的網絡環境: ?一、網絡監控與性能分析? 1. ?Zabbix? ?特點?:企業級監控方案,支持SNMP、IPMI、JMX等多種協議,提供實時儀表盤、告警通知和自動化發現功能。 ?適用場景?:服…

谷粒商城項目-P16快速開發-人人開源搭建后臺管理系統

1.對腳手架工程進行改造 此項目選用的腳手架工程是人人開源 地址:人人開源 選擇的是下圖標紅的renren-fast作為后端,renren-fast-vue作為前端 克隆上述兩個項目 2.后端改造 2.1將renrenfast項目的git文件夾刪除后,拖進后端代碼文件夾中 2…

V少JS基礎班之第八彈:this

文章目錄一、 前言二、本節涉及知識點三、重點內容1、從新的角度認識this2、this是函數的參數3、this的值4、函數的調用1- 裸函數調用2- 函數作為構造函數調用3- 函數作為對象的方法調用4- 函數顯示調用5- 箭頭函數一、 前言 第八彈內容是this。this相對來說難度不大&#xff…

《堆的詳解:結構、操作及堆排序算法》

目錄 一.堆的概念與結構 1.1 堆的概念 1.2 堆性質: 1.3 堆的結構定義 二.堆的初始化和銷毀 2.1 堆的初始化: 2.2 堆的銷毀: 三.堆的插入數據(含向上調整算法的實現) 3.1 插入邏輯 3.2 插入函數 3.3 向上調整算法 三. 堆的刪除數…

深入解析 Kubernetes 中的 Service 資源:為應用提供穩定的網絡訪問

什么是 Kubernetes 中的 Service? 在現代微服務架構中,服務之間的通信和負載均衡是至關重要的。尤其是在 Kubernetes 環境中,由于 Pod 是動態創建和銷毀的,如何為一組 Pod 提供穩定的訪問入口,成為了架構設計中的一個關…

使用Samba網絡磁盤作為MacOS時間機器的遠程備份磁盤

最近考慮MacOS系統升級,所以需要做磁盤備份,MacOS里有個備份磁盤很方便的工具:時間機器,可以自動定期備份磁盤,但是一般需要一個大點的移動硬盤插在macbook上選擇其為備份磁盤,可惜我并沒有移動硬盤&#x…

智能頭盔實時監控系統設計與實現

智能頭盔實時監控系統設計與實現 源碼 https://gitee.com/intostars/csdn-demo/tree/master/src/views/smartHelmet 預覽 一、功能概述 智能頭盔實時監控系統是基于Vue 3和TypeScript開發的一套用于遠程監控和控制智能頭盔設備的前端應用模塊。該系統通過WebSocket與后端服務…

Docker 學習筆記(八):容器運行時工具實踐及 OpenStack 部署基礎

容器管理工具Containerd nerdctl 實踐 nerdctl管理存儲 nerdctl命令創建容器的時候,可以使用-v選項將本地目錄掛載給容器實現數據持久化 示例: [rootlocalhost ~]# mkdir /data [rootlocalhost ~]# nerdctl run -d -v /data:/data busybox -- sleep infi…

Unity鍵盤控制角色運動

以下是一個完整的Unity角色移動和跳躍腳本,支持WASD或方向鍵移動: 使用說明 確保組件設置正確: 確保您的游戲對象有一個CharacterController組件 如果沒有,可以通過菜單 "Component -> Physics -> Character Controller" 添加 相機設置: 確保場景中有一…

linux 宏 DEVICE_ATTR

理解 DEVICE_ATTR DEVICE_ATTR 是 Linux 內核中用于創建設備屬性的宏&#xff0c;通常用于 sysfs 文件系統。通過 sysfs&#xff0c;用戶空間的程序可以讀取或修改內核中的設備屬性。DEVICE_ATTR 宏定義在 <linux/device.h> 頭文件中&#xff0c;用于聲明和定義一個設備屬…

MCP模型上下文協議以及交互流程

1. MCP 是什么全稱&#xff1a;Model Context Protocol定位&#xff1a;讓大語言模型&#xff08;LLM&#xff09;能在“上下文”之外&#xff0c;按統一格式訪問外部數據、調用插件、持久化狀態。動機&#xff1a;以前每家框架&#xff08;LangChain、LlamaIndex 等&#xff0…

MySQLTransactionRollbackException

問題描述mysql部署1主3從&#xff0c;昨天發現主庫有大量報警錯誤&#xff1a;Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction ; Deadlock found when trying to get lock; …

Redis環境搭建指南:Windows/Linux/Docker多場景安裝與配置

Redis環境搭建指南&#xff1a;Windows/Linux/Docker多場景安裝與配置 1. Redis安裝方式概覽 1.1 安裝方式對比 安裝方式適用場景優點缺點難度Windows直接安裝開發調試安裝簡單&#xff0c;Windows兼容好性能不如Linux&#xff0c;生產不推薦?Linux源碼編譯生產環境性能最佳…

leetcode.80刪除有序數組中的重復項2

題目描述 給你一個有序數組 nums &#xff0c;請你 原地 刪除重復出現的元素&#xff0c;使得出現次數超過兩次的元素只出現兩次 &#xff0c;返回刪除后數組的新長度。 不要使用額外的數組空間&#xff0c;你必須在 原地 修改輸入數組 并在使用 O(1) 額外空間的條件下完成。…

運動卡新手入門及常見問題處理

1.新手入門1.1 插卡打開包裝&#xff0c;拿出PCI板卡&#xff0c;如下圖&#xff1a;打開電腦機箱蓋&#xff0c;找到PCI插槽&#xff0c;如下圖&#xff08;紅色框部分是PCI槽&#xff0c;有些主板上PCI槽是白色或其他顏色&#xff09;&#xff1a;插入板卡&#xff0c;如下圖…

PRINCE2與PMP項目管理體系對比

在全球范圍內&#xff0c;PRINCE2與PMP是兩大最具影響力的項目管理體系。PRINCE2注重流程和治理結構&#xff0c;強調“控制”與“規范”&#xff1b;而PMP基于PMBOK指南&#xff0c;強調知識體系和方法論的全面性&#xff0c;更關注“工具”與“實踐”。 不同體系的側重點&…