jdk環(huán)境變量配置切換jdk版本及安裝jdk后環(huán)境變量不生效問(wèn)題解決辦法
一、java環(huán)境變量配置是安在系統(tǒng)變量好還是用戶變量好?
建議安在系統(tǒng)變量,因?yàn)橛脩糇兞恐粫?huì)在本用戶生效。
二、如何配置環(huán)境變量
1.首先去下載jdk
JDK 是 Java 開(kāi)發(fā)者必備的工具包,提供了從編寫(xiě)、編譯到調(diào)試和運(yùn)行 Java 程序所需的所有功能。
jdk包含jre,jre即 Java Runtime Environment,java運(yùn)行時(shí)環(huán)境,jre包含jvm(java虛擬機(jī),負(fù)責(zé)將字節(jié)碼轉(zhuǎn)換為機(jī)器碼,并在操作系統(tǒng)上執(zhí)行。)
2.jdk安裝
需要注意的是:
從 JDK 9 開(kāi)始,JRE 的概念就被融入到了 JDK 中。在此之前,JDK 和 JRE 是作為兩個(gè)獨(dú)立的組件存在的。自 JDK 9 起,Java 平臺(tái)將 JRE 的功能整合進(jìn) JDK,使得開(kāi)發(fā)者只需安裝 JDK 即可同時(shí)獲得開(kāi)發(fā)和運(yùn)行 Java 應(yīng)用程序所需的所有工具和庫(kù)。
具體來(lái)說(shuō),從 JDK 9 開(kāi)始,JRE 不再單獨(dú)提供,用戶在安裝 JDK 時(shí),即自動(dòng)獲得了運(yùn)行 Java 應(yīng)用程序所需的環(huán)境。這種設(shè)計(jì)簡(jiǎn)化了安裝過(guò)程,并使得開(kāi)發(fā)和運(yùn)行 Java 程序更加方便。
也就是說(shuō)JDK8不僅需要安裝jdk還需要安裝jre
jdk的安裝路徑默認(rèn)為C:\Porgram File\Java\

JDK17則只需要安裝jdk即可

在安裝時(shí)可以選擇jdk的安裝路徑,jdk8之前最好把jdk和jre安裝在同一目錄下。
3.環(huán)境變量配置
首先打開(kāi)環(huán)境變量,可以直接在搜索框中搜索環(huán)境變量

3.1 JAVA_HOME變量
在系統(tǒng)變量中新建JAVA_HOME變量,變量值為jdk安裝路徑

3.2 Path變量
在編輯Path變量時(shí)我們的Path變量顯示可能不是列表,而是顯示一行,這樣非常不方便我們進(jìn)行環(huán)境變量的配置,其實(shí)非常簡(jiǎn)單,現(xiàn)在大部分人用的都是win10的64位的系統(tǒng),只要在path變量值的最前面,加上C:\Windows\System64;即可。

這樣就能很直觀的查看配置的環(huán)境變量。

?配置bin和jre的路徑,如果Path變量值不是列表形式,還需要使用;進(jìn)行分割,列表形式會(huì)通過(guò);對(duì)變量值進(jìn)行分割,也就不需要加;了。
--變量名 Path --變量值 %JAVA_HOME%\bin %JAVA_HOME%\jre\bin
3.3 ClassPath變量
CLASSPATH 是一個(gè)環(huán)境變量,它告訴 Java 虛擬機(jī) (JVM) 和 Java 編譯器 (javac) 從哪里查找類文件和庫(kù)。配置 CLASSPATH 的方式可以影響 Java 應(yīng)用程序的運(yùn)行和編譯。
新建變量

--變量名 ClassPath或者CLASSPATH --變量值 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; --各部分含義 1、.: 代表當(dāng)前目錄。通過(guò)包含 .,Java 會(huì)在當(dāng)前工作目錄中查找類文件。 這是一個(gè)很常見(jiàn)的配置,便于開(kāi)發(fā)者在當(dāng)前目錄下直接運(yùn)行 Java 程序。 2、%JAVA_HOME%\lib: %JAVA_HOME% 是一個(gè)環(huán)境變量,指向 Java 安裝目錄。 %JAVA_HOME%\lib 指向 Java 的庫(kù)文件夾,這里包含了一些基本的 Java 類庫(kù), 這些庫(kù)是 Java 程序運(yùn)行所需的核心類 3、%JAVA_HOME%\lib\tools.jar: 這個(gè) JAR 文件包含了 Java 開(kāi)發(fā)工具的類, 包括編譯器 (javac) 和其他一些工具的實(shí)現(xiàn)。它在使用某些開(kāi)發(fā)工具和 IDE(例如,Eclipse 或 NetBeans)時(shí)通常是必需的。

三、驗(yàn)證是否配置成功
win+R輸入cmd打開(kāi)命令行窗口
輸入javac

?輸入java -version 查看jdk版本是否匹配
出現(xiàn)版本即成功了。

四、如何切換jdk版本
只需要修改JAVA_HOME變量即可,將該變量指向要切換的安裝的jdk的路徑即可。
但是這樣每次都需要去修改路徑,我們還是覺(jué)得麻煩,我們可以為每個(gè)jdk維護(hù)一個(gè)獨(dú)屬于他們的JAVA_HOME變量,然后將他們的值替換JAVA_HOME變量即可。
例如jdk8就命名為JAVA_HOME8
jdk17就命名為JAVA_HOME17
然后將JAVA_HOME的變量值去指向JAVA_HOME8,這樣就能實(shí)現(xiàn)同樣的效果
%%中間可以讀取變量名對(duì)應(yīng)的值。

?然后使用java -version查看當(dāng)前版本
??注意:切換版本后要重新啟動(dòng)命令行窗口,否則顯示的還是原來(lái)的jdk版本會(huì)誤以為修改不成功。
五、安裝jdk17后,自己配置的環(huán)境變量配置不生效
問(wèn)題描述:
安裝jdk8后,環(huán)境變量配置的jdk8的路徑,但是在安裝jdk17后,系統(tǒng)的環(huán)境變量變成了jdk17,沒(méi)有修改環(huán)境變量的配置但是確自動(dòng)修改了環(huán)境變量。
原因:
jdk17在安裝的時(shí)候會(huì)自動(dòng)配置環(huán)境變量,也就是說(shuō)jdk配置的環(huán)境的變量的優(yōu)先級(jí)高于我們自己配置的環(huán)境優(yōu)先級(jí)了。因此導(dǎo)致自己配置的環(huán)境變量無(wú)法生效。
jdk在運(yùn)行時(shí)尋找環(huán)境變量配置順序
- C:\Windows\System32目錄下的java.exe、javaw.exe、javaws.exe三個(gè)文件
- Path變量中的在安裝后jdk配置的環(huán)境變量C:\ProgramData\Oracle\Java\javapath
- 自己配置的環(huán)境變量
解決方案:
- 刪除C:\Windows\System32目錄下的java.exe、javaw.exe、javaws.exe三個(gè)文件
- 刪除環(huán)境變量Path中C:\ProgramData\Oracle\Java\javapath的配置或者將自己配置的環(huán)境變量移至jdk生成的環(huán)境變量之上即可。也就是改變優(yōu)先級(jí)。

總結(jié)
到此這篇關(guān)于jdk環(huán)境變量配置切換jdk版本及安裝jdk后環(huán)境變量不生效問(wèn)題解決辦法的文章就介紹到這了,更多相關(guān)jdk環(huán)境變量配置切換jdk版本內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 安裝多個(gè)版本JDK后使用時(shí)的切換方法總結(jié)
- Linux安裝多個(gè)jdk版本進(jìn)行切換
- 手把手教學(xué)Win10同時(shí)安裝兩個(gè)版本的JDK并隨時(shí)切換(JDK8和JDK11)
- win10 64位系統(tǒng)中安裝多個(gè)jdk版本的切換問(wèn)題及解決方法小結(jié)
- 電腦上安裝多個(gè)JDK版本時(shí)該如何自由切換(詳細(xì)圖文)
- 查找jdk安裝路徑并且切換多版本jdk的詳細(xì)步驟
- Windows同時(shí)安裝兩個(gè)版本JDK并實(shí)現(xiàn)動(dòng)態(tài)切換JAVA8或JAVA11的方法
- jdk同時(shí)安裝多個(gè)版本并自由切換的技巧總結(jié)
- Windows上安裝不同版本JDK并切換使用的詳細(xì)步驟
相關(guān)文章
Java 8 lambda表達(dá)式引入詳解及實(shí)例
這篇文章主要介紹了Java 8 lambda表達(dá)式引入詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-05-05
springboot 中 thymeleaf 常用的語(yǔ)法完整實(shí)例
在 Spring Boot 項(xiàng)目中,Thymeleaf 是一個(gè)常用的模板引擎,它提供了豐富的語(yǔ)法來(lái)動(dòng)態(tài)渲染 HTML 頁(yè)面,下面給大家介紹springboot 中 thymeleaf 常用的語(yǔ)法完整實(shí)例,感興趣的朋友一起看看吧2024-03-03
java環(huán)境變量path和classpath的配置
這篇文章主要為大家詳細(xì)介紹了java系統(tǒng)環(huán)境變量path和classpath的配置過(guò)程,感興趣的小伙伴們可以參考一下2016-07-07
Java 實(shí)戰(zhàn)圖書(shū)管理系統(tǒng)的實(shí)現(xiàn)流程
讀萬(wàn)卷書(shū)不如行萬(wàn)里路,只學(xué)書(shū)上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SSM+jsp+mysql+maven實(shí)現(xiàn)一個(gè)圖書(shū)管理系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平2021-11-11
Java生成指定范圍內(nèi)的一個(gè)隨機(jī)整數(shù)2種方式
本文主要介紹了Java生成指定范圍內(nèi)的一個(gè)隨機(jī)整數(shù)2種方式,主要使用Math.random()和Random.nextInt()這兩種,具有一定的參考價(jià)值,感興趣的可以了解一下2023-04-04

