jdk1.8切换1.7失效问题

来源:https://blog.youkuaiyun.com/qq_26369317/article/details/80922425#t0

有个项目需要jdk1.7,高了启动不了。会报错。

然而,我安装jdk'1.7后,配置了java_home,发现  java -version 还是1.8

后来在网上搜索,发现java.exe、javaw.exe、javaws.exe这三个文件WINDOWS环境变量中的优先级高于JAVA_HOME设置的环境变量优先级

----------------------------

当使用安装版本的JDK程序时(一般是1.7版本以上),在安装结束后安装程序会自动将java.exe、javaw.exe、javaws.exe三个可执行文件复制到C:\Windows\System32目录,这个目录在WINDOWS环境变量中的优先级高于JAVA_HOME设置的环境变量优先级,故此直接更改JAVA_HOME会无效。

        另外,JDK1.8安装版本,还会在C:\ProgramData\Oracle\Java目录中生成一些配置文件,并同时将此目录写到环境变量中的Path中

--------------------------------------------------------------------------------------------------------

删除C:\Windows\System32目录下的java.exe、javaw.exe、javaws.exe三个文件

后好使了

---------------

删除环境变量Path中C:\ProgramData\Oracle\Java\javapath的配置

这个我没有管

### 不同版本JDK1.71.8)之间的切换配置 在Windows环境下,可以通过调整环境变量中的`PATH`和`JAVA_HOME`设置来实现不同版本的JDK(如1.71.8)之间的切换。以下是具体的解决方案: #### 调整环境变量 1. **删除可能导致冲突的路径** 安装JDK 1.8时,默认会在`Path`环境中添加一条记录:`C:\ProgramData\Oracle\Java\javapath;` 或 `C:\Program Files (x86)\Common Files\Oracle\Java\javapath`[^2]。这条路径可能会覆盖其他手动配置的JDK路径,因此需要将其删除。 2. **设置`JAVA_HOME`变量** 配置`JAVA_HOME`指向目标JDK版本的安装目录。例如: - 对于JDK 1.7,可以设置为:`C:\Program Files\Java\jdk1.7.x` - 对于JDK 1.8,可以设置为:`C:\Program Files\Java\jdk1.8.x` 3. **更新`PATH`变量** 确保`PATH`中包含`%JAVA_HOME%\bin`,并将此条目放置在所有可能影响JDK版本选择的路径之前。这样可以优先加载指定版本的JDK工具[^3]。 #### 切换流程 - **从1.8切换1.7** 删除上述提到的默认路径,并将`JAVA_HOME`更改为JDK 1.7的安装路径,同时确保`PATH`中引用的是新的`JAVA_HOME`值[^1]。 - **从1.7切换1.8** 同样操作,只需将`JAVA_HOME`更改回JDK 1.8的安装路径,并重新验证`PATH`是否正确指向新版本的二进制文件夹。 #### 验证切换效果 完成以上步骤后,可通过以下命令验证当前使用的JDK版本: ```bash java -version ``` 该命令应返回所期望的目标版本号。 #### Linux下的切换方式 对于Linux系统,除了通过修改`.bashrc`或全局配置文件 `/etc/profile` 来设定`JAVA_HOME`外,还可以利用`update-alternatives`命令管理多个JDK版本间的切换[^4]: ```bash sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7/bin/java 1 sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8/bin/java 2 sudo update-alternatives --config java ``` 执行最后一步时,按照提示选择所需的JDK版本即可。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值