最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JDK1.8與JDK17多版本共存相互切換(windows、macOS、Linux、IDE)

 更新時間:2025年12月20日 14:47:30   作者:wfyflyy  
在電腦已經(jīng)安裝之前主流的jdk1.8后避免不了要安裝新的主流jdk17,本章主要目的是介紹不同項目和場景間切換JDK?1.8和JDK?17,提高開發(fā)效率并避免版本沖突(包括windows、macOS、Linux、IDE)

在電腦已經(jīng)安裝之前主流的jdk1.8后避免不了要安裝新的主流jdk17,本章主要目的是介紹簡單的方式切換,并且指出一些容易發(fā)生的一些小錯誤。

Windows 系統(tǒng)切換方法

手動配置環(huán)境變量(傳統(tǒng)方法)

1.下載完jdk17后,可以將其與jdk8放在同一文件下。

 2.右擊我的電腦進(jìn)入環(huán)境配置,一般我們配置好的jdk1.8為以下

3. 同樣的原理,點擊新建,起個變量名JDK17,找到下載jdk17的路徑復(fù)制到變量值,點擊確定。

4. 我們之前配置jdk8可能是下面這個變量值,有些人的是jdk8的路徑,建議用下面這個方法,因為這是傻瓜的精髓。

5. win+r輸入cmd輸入java -version(中間空格)會出現(xiàn)下面證明此時正是jdk8版本

 6.回到環(huán)境變量只需將%JDK8%改為%JDK17%即可(8改17傻瓜不),點擊確認(rèn),然后重新打開win+r(必須重新打開)按照5進(jìn)行會出現(xiàn)以下,證明已經(jīng)切換成功。

注:有些人切換的時候并未切換到JDK17,我也遇到了這個問題,那是因為在Path中下載jdk17的時候自動給我們加了兩行,只要刪除這兩行(這里我已經(jīng)刪除了,刪除的與第一行相似,但是未刪除前位于前兩行),再重新打開win+r,按照5進(jìn)行就會出現(xiàn)。

使用 JEnv for Windows

安裝步驟:

# 1. 安裝 Chocolatey(Windows 包管理器)
Set-ExecutionPolicy Bypass -Scope Process -Force
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

# 2. 使用 Chocolatey 安裝 JEnv
choco install jenv

# 3. 或者使用 Scoop 安裝
scoop bucket add versions
scoop install jenv-win

配置和使用:

# 添加 JDK 到 JEnv
jenv add "C:\Java\jdk1.8.0_381" 1.8
jenv add "C:\Java\jdk-17.0.10" 17

# 查看已安裝的 JDK
jenv versions

# 全局切換
jenv global 1.8    # 切換到 JDK 8
jenv global 17     # 切換到 JDK 17

# 本地目錄切換(僅當(dāng)前目錄有效)
cd my-java8-project
jenv local 1.8

cd my-java17-project
jenv local 17

# 僅當(dāng)前shell會話切換
jenv shell 17

macOS 系統(tǒng)切換方法

使用 Homebrew + jenv

步驟一:安裝工具

# 1. 安裝 Homebrew(如果未安裝)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 2. 安裝 jenv
brew install jenv

# 3. 配置 shell(根據(jù)你的 shell)
# bash 用戶
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(jenv init -)"' >> ~/.bash_profile

# zsh 用戶
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc

# 重新加載配置
source ~/.zshrc   # 或 source ~/.bash_profile

步驟二:安裝多版本 JDK

# 方法1:使用 Homebrew 安裝多個 JDK
brew tap homebrew/cask-versions
brew install --cask temurin8    # JDK 8
brew install --cask temurin17   # JDK 17

# 方法2:如果已手動安裝,添加到 jenv
# 通常安裝位置:
# JDK 8: /Library/Java/JavaVirtualMachines/jdk1.8.0_381.jdk/Contents/Home
# JDK 17: /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home

jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_381.jdk/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home

步驟三:使用 jenv 管理

# 查看所有可用的 JDK
jenv versions

# 設(shè)置全局默認(rèn)版本
jenv global 1.8.0.381
# 或
jenv global 17.0

# 設(shè)置項目特定版本
cd ~/projects/java8-project
jenv local 1.8.0.381

cd ~/projects/java17-project
jenv local 17.0

# 查看當(dāng)前使用的版本
jenv version

# 在當(dāng)前 shell 會話中臨時切換
jenv shell 17.0

Linux 系統(tǒng)切換方法

使用 update-alternatives(Ubuntu/Debian)

# 1. 安裝兩個 JDK(如果未安裝)
sudo apt update
sudo apt install openjdk-8-jdk openjdk-17-jdk

# 2. 注冊到 alternatives 系統(tǒng)
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/java-8-openjdk-amd64/bin/java" 1
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/java-17-openjdk-amd64/bin/java" 2

sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/java-8-openjdk-amd64/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/java-17-openjdk-amd64/bin/javac" 2

# 3. 切換版本
sudo update-alternatives --config java
# 會顯示:
# 有 2 個候選項可用于替換 java (提供 /usr/bin/java)。
# 
#   選擇       路徑                                          優(yōu)先級  狀態(tài)
# ------------------------------------------------------------
# * 0            /usr/lib/jvm/java-17-openjdk-amd64/bin/java   2       自動模式
#   1            /usr/lib/jvm/java-8-openjdk-amd64/bin/java    1       手動模式
#   2            /usr/lib/jvm/java-17-openjdk-amd64/bin/java   2       手動模式
# 
# 要維持當(dāng)前值[*]請按<回車鍵>,或者鍵入選擇的編號:

# 同樣切換 javac
sudo update-alternatives --config javac

# 4. 驗證
java -version
javac -version

IDE 中的版本切換

IntelliJ IDEA 配置

項目級配置:

File → Project Structure (Ctrl+Alt+Shift+S)
  → Project Settings → Project
    → Project SDK: 添加多個 JDK
    → Project language level: 選擇對應(yīng)版本
  
  → Project Settings → Modules
    → 每個模塊可以單獨設(shè)置 SDK

運行配置:

Run → Edit Configurations
  → 選擇要修改的運行配置
  → 右側(cè)找到 "JRE"
  → 選擇對應(yīng)的 JDK 版本
  
或者:
Alt+Shift+F10 → Edit Configurations

全局配置:

File → Settings (Ctrl+Alt+S)
  → Build, Execution, Deployment
    → Build Tools → Gradle/Maven
      → Gradle JVM: 選擇 JDK 版本

Eclipse 配置

1. 添加多個 JDK
   Window → Preferences
     → Java → Installed JREs
       → Add... → Standard VM
       → 選擇 JDK 安裝目錄

2. 項目級配置
   右鍵項目 → Properties
     → Java Build Path → Libraries
       → JRE System Library → Edit...
         → 選擇 Alternate JRE

3. 運行配置
   Run → Run Configurations
     → Java Application
       → 選擇要配置的類
       → JRE 標(biāo)簽頁
         → 選擇 Runtime JRE

VSCode 配置

settings.json 配置:

{
  "java.configuration.runtimes": [
    {
      "name": "JavaSE-1.8",
      "path": "C:\\Java\\jdk1.8.0_381",
      "default": false
    },
    {
      "name": "JavaSE-17",
      "path": "C:\\Java\\jdk-17.0.10",
      "default": true
    }
  ],
  
  // 工作區(qū)特定設(shè)置
  "java.jdt.ls.java.home": "C:\\Java\\jdk-17.0.10",
  
  // Maven 配置
  "java.configuration.maven.userSettings": "C:\\path\\to\\settings.xml",
  "maven.terminal.customEnv": [
    {
      "environmentVariable": "JAVA_HOME",
      "value": "C:\\Java\\jdk-17.0.10"
    }
  ]
}

工作區(qū) .vscode/settings.json

{
  // 這個項目使用 Java 8
  "java.configuration.runtimes": [
    {
      "name": "JavaSE-1.8",
      "path": "/usr/lib/jvm/jdk1.8.0_381",
      "default": true
    }
  ],
  "java.home": "/usr/lib/jvm/jdk1.8.0_381"
}

常見問題解決

問題1:切換后版本沒變

# 原因:PATH 中有其他 java
echo $PATH | tr ':' '\n'
which -a java   # 查看所有 java 命令位置

# 解決:確保正確的路徑在前面
export PATH="$JAVA_HOME/bin:$PATH"

問題2:IDE 不使用系統(tǒng)設(shè)置的 JAVA_HOME

解決:
1. IDE 內(nèi)重新配置 SDK
2. 重啟 IDE
3. 清理 IDE 緩存
4. 檢查 IDE 的配置文件

總結(jié)建議

  • 個人開發(fā)推薦:使用 SDKMAN!(Linux/macOS)或 jenv(Windows)

  • 團(tuán)隊開發(fā)推薦:統(tǒng)一使用 Docker 容器化,確保環(huán)境一致

通過以上方法,你可以輕松地在不同項目和場景間切換 JDK 1.8 和 JDK 17,提高開發(fā)效率并避免版本沖突。

到此這篇關(guān)于JDK1.8與JDK17多版本共存相互切換(windows、macOS、Linux、IDE)的文章就介紹到這了,更多相關(guān)JDK1.8與JDK17自由切換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java方法參數(shù)裝配順序詳解

    Java方法參數(shù)裝配順序詳解

    這篇文章主要介紹了Java方法參數(shù)裝配順序詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • 如何解決java:錯誤:無效的源發(fā)行版:17問題

    如何解決java:錯誤:無效的源發(fā)行版:17問題

    這篇文章主要介紹了如何解決java:錯誤:無效的源發(fā)行版:17問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • SpringBatch數(shù)據(jù)寫入實現(xiàn)

    SpringBatch數(shù)據(jù)寫入實現(xiàn)

    Spring Batch通過ItemWriter接口及其豐富的實現(xiàn),提供了強(qiáng)大的數(shù)據(jù)寫入能力,本文主要介紹了SpringBatch數(shù)據(jù)寫入實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2025-04-04
  • 解決SpringBoot加載application.properties配置文件的坑

    解決SpringBoot加載application.properties配置文件的坑

    這篇文章主要介紹了SpringBoot加載application.properties配置文件的坑,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • logback TimeBasedRollingPolicy按天生成日志源碼解析

    logback TimeBasedRollingPolicy按天生成日志源碼解析

    這篇文章主要為大家介紹了logback TimeBasedRollingPolicy按天生成日志源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • Java時間輪算法的實現(xiàn)代碼示例

    Java時間輪算法的實現(xiàn)代碼示例

    本篇文章主要介紹了Java時間輪算法的實現(xiàn)代碼示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • 關(guān)于spring boot中幾種注入方法的一些個人看法

    關(guān)于spring boot中幾種注入方法的一些個人看法

    這篇文章主要給大家介紹了關(guān)于spring boot中幾種注入方法的一些個人看法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用spring boot具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • SpringBoot接入ftp/ftps并上傳文件和配置的代碼指南

    SpringBoot接入ftp/ftps并上傳文件和配置的代碼指南

    接入ftp服務(wù)器,在springboot上實現(xiàn)起來也不算復(fù)雜,本文主要講下如何在springboot下接入ftp服務(wù)上傳文件,并對出現(xiàn)的問題做一些記錄,ftp服務(wù)的參數(shù)配置等,需要的朋友可以參考下
    2024-12-12
  • Swagger-boostrap-ui如何配置用戶名密碼訪問

    Swagger-boostrap-ui如何配置用戶名密碼訪問

    這篇文章主要介紹了Swagger-boostrap-ui如何配置用戶名密碼訪問,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Java實現(xiàn)世界上最快的排序算法Timsort的示例代碼

    Java實現(xiàn)世界上最快的排序算法Timsort的示例代碼

    Timsort?是一個混合、穩(wěn)定的排序算法,簡單來說就是歸并排序和二分插入排序算法的混合體,號稱世界上最好的排序算法。本文將詳解Timsort算法是定義與實現(xiàn),需要的可以參考一下
    2022-07-07

最新評論

长宁区| 马边| 阳泉市| 肃南| 离岛区| 达孜县| 富蕴县| 临沭县| 高碑店市| 红安县| 虎林市| 佳木斯市| 奉化市| 萝北县| 镶黄旗| 应用必备| 微山县| 双桥区| 长顺县| 洛宁县| 乡宁县| 陆良县| 宁阳县| 兰坪| 恩施市| 乌什县| 平顺县| 湘潭县| 尼勒克县| 高密市| 类乌齐县| 柳河县| 青阳县| 茶陵县| 靖边县| 彰化市| 齐河县| 新干县| 泰宁县| 南皮县| 论坛|