Window 安装两个版本JDK,配置其中一个

本文介绍了一种解决在更换JDK版本后,系统仍显示旧版本的方法。具体步骤包括:删除或移动旧版本的java.exe等文件,修改环境变量JAVA_HOME,并定位到启动JDK的快捷方式文件夹进行调整。

我的电脑配置:
1. Window 7
2. jdk 1.8


因为jdk1.7的源码相对简单一点,就像换成jdk1.7版本的。
然后安装jdk1.7,按部就班将JAVA_HOME改成了我安装的jdk1.7的版本。

JAVA_HOME=C:\Program Files\Java\jdk1.7.0_40

然而,利用 java -version 查看版本的时候仍然显示1.8的版本。


解决方案
1. 到C:\Windows\System32目录下查找java.exe、javaw.exe、javaws.exe三个可执行文件,删掉。(如果没找到,试试到到C:\ProgramData\Oracle\Java\javapath目录找)
2. 如果方案1没有找到,可以先将jdk1.7的jre/bin(注意不是jdk/jre/bin)目录下的这三个文件剪切到别的地方,再次cmd执行java -version会:**目录找不到,此时这个目录就是存放你启动jdk的快捷方式文件(其实就是java.exe、javaw.exe、javaws.exe这三个文件的快捷方式),然后找到删掉。

<think>好的,用户问的是安装了双版本JDK如何处理。首先,我需要回忆之前用户的问题,他之前询问过如何设置Java环境变量,现在又遇到了多个JDK版本的问题。这可能是因为他在开发过程中需要切换不同版本JDK,比如为了兼容不同的项目或者测试环境。 接下来,我需要确定用户的系统是Windows,因为之前的回答都是针对Windows的,但可能用户也可能使用其他系统,比如macOS或Linux,不过根据常见情况,暂时先按Windows来处理,同时可能需要补充其他系统的信息。 用户的问题核心是多个JDK版本共存时的管理方法。常见的情况包括如何配置环境变量来切换版本,或者使用工具进行管理。我需要考虑不同的解决方案,比如手动修改环境变量、使用批处理脚本切换、或者第三方工具如JEnv、SDKMAN等。此外,对于IDE中的设置,用户可能也需要指导如何在IDE中选择不同的JDK版本。 还要注意用户可能的错误操作,比如环境变量配置错误导致版本混乱,或者版本路径中包含空格等问题。需要提醒用户注意事项,比如路径的正确性,管理员权限的问题,以及如何验证配置是否生效。 另外,用户可能没有明确说明是否希望自动切换版本,或者是否需要同时使用不同版本进行开发。这时候需要分情况讨论,比如手动切换和工具自动切换的优缺点,以及IDE中的项目管理配置。 最后,要确保回答结构清晰,步骤明确,避免使用过于专业的术语,让用户能够一步步跟着操作。同时,需要验证每个步骤的正确性,比如检查命令是否适用,路径示例是否正确,以及常见问题的处理方法是否有效。</think>以下是多版本JDK共存的管理方案及切换方法,以Windows系统为例: --- ### 一、基础管理方案 #### 方案1:环境变量优先级控制 1. **保留所有JDK安装** 例如: - JDK 8路径:`C:\Java\jdk1.8.0_381` - JDK 17路径:`C:\Java\jdk-17.0.9` 2. **修改$Path$顺序** ```powershell 控制面板 → 系统 → 环境变量 → 系统变量Path ``` - 将需要优先使用的JDK的`bin`路径上移 - 示例优先级: `%JAVA_HOME_17%\bin` `%JAVA_HOME_8%\bin` 3. **验证生效版本** ```cmd java -version javac -version ``` --- #### 方案2:动态环境变量切换 1. **创建多版本变量** ```properties JAVA_HOME_8 = C:\Java\jdk1.8.0_381 JAVA_HOME_17 = C:\Java\jdk-17.0.9 ``` 2. **编写切换脚本** 新建`jdk_switch.bat`: ```bat @echo off set /p version=请输入JDK版本(8/17): if "%version%"=="8" ( setx JAVA_HOME "%JAVA_HOME_8%" /M ) else ( setx JAVA_HOME "%JAVA_HOME_17%" /M ) echo 已切换至JDK %version%,请重启命令行生效 ``` --- ### 二、进阶管理工具 #### 工具1:JEnv(跨平台) ```powershell # 安装chocolatey包管理器 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')) # 安装jenv choco install jenv ``` #### 工具2:SDKMAN!(Linux/macOS/WSL) ```bash curl -s "https://get.sdkman.io" | bash sdk install java 8.0.382-zulu sdk install java 17.0.9-zulu sdk use java 17.0.9-zulu ``` --- ### 三、IDE项目管理方案 #### 在IntelliJ IDEA中配置: 1. **File → Project Structure → SDKs** 2. 添加所有已安装JDK版本 3. **Project → SDK** 选择当前项目使用的版本 #### 在Eclipse中配置: 1. **Window → Preferences → Java → Installed JREs** 2. 添加所有JDK路径 3. 项目右键 → Build Path → Configure Build Path → Libraries → JRE System Library --- ### 四、版本冲突检测 ```cmd # 查看所有java.exe位置 where /r C:\ java.exe # 输出示例: C:\Java\jdk-17\bin\java.exe C:\Java\jdk1.8.0_381\bin\java.exe C:\Windows\System32\java.exe ← 若存在此项需删除错误的环境变量 ``` --- ### 五、注意事项 1. **卸载冗余版本**:通过`控制面板 → 程序与功能`移除不再使用的JDK 2. **路径冲突**:避免同时存在多个`JAVA_HOME`定义 3. **IDE缓存**:切换版本后建议执行`File → Invalidate Caches` 4. **安装规范**:推荐使用ZIP版JDK而非安装程序版,便于路径管理 --- 通过以上方案,可实现类似Python虚拟环境的多版本JDK管理效果。建议开发环境保留LTS版本(如JDK 8/11/17)和最新稳定版即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值