win7下面进行jdk版本切换失败及解决

本文讲述了在Windows 7系统中,从Java 8回退到Java 7时遇到版本切换失败的问题。在分析和排查过程中,发现Path环境变量中存在Java 8的路径导致切换无效。删除该路径后,成功解决了问题。此外,还提醒使用Eclipse等IDE的开发者,即使系统配置更改,也需重启IDE以应用新的JDK设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我本机先安装的java7,然后安装了java8,;近来为了测试内存溢出,了解jvm参数对程序的影响,需要将java8调回成7,方法如下

我的电脑 → 属性 → 高级系统设置 → 环境变量 
将原来的JAVA_HOME=F://JAVA7,修改成JAVA_HOME=F://JAVA8
cmd执行结果如下
C:\Users\q>echo %PATH%
F:\worksoftware\loadrunner1253\HP\NV\lib\shunra\vcat;F:\worksoftware\clbat;F:\wo
rksoftware\gradle-3.0\bin;F:\worksoftware\protobuf;C:\ProgramData\Oracle\Java\ja
vapath;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;F:\worksoftware\ma
ven333\bin;F:\worksoftware\java7\jdk7\bin;C:\Program Files (x86)\Intel\iCLS Clie
nt\;C:\Program Files\Intel\iCLS Client\;C:\windows\system32;C:\windows;C:\window
s\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Int
el\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Man
agement Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management E
ngine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Com
ponents\IPT;F:\worksoftware\TortoiseSVN188\bin;F:\;orksoftware\nodejs\;F:\workso
ftware\Groovy-2.4.7\bin;F:\worksoftware\redis32\;C:\Program Files\Git\cmd;F:\wor
ksoftware\loadrunner1253\hploadrunner\strawberry-perl\perl\bin;F:\worksoftware\l
oadrunner1253\HP\NV\lib\thirdparty\safenet\LDK\7.0;F:\worksoftware\loadrunner125
3\HP\NV\lib\shunra\snv

C:\Users\q>echo %java_home%
F:\worksoftware\java7\jdk7

C:\Users\q>java -version
java version "1.8.0_74"
Java(TM) SE Runtime Environment (build 1.8.0_74-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode)

发现修改无效,没有达到预期的效果,网上搜寻未果,仔细分析,最后在path中找到一个熟悉的身影

C:\ProgramData\Oracle\Java\javapath;//从哪里冒出来的?
目录下面有如下几个快捷方式
java.exe javaw.exe javaws.exe 均指向我大java8路径下面对应的exe

分析,应该是安装java8的时候,程序自动生成的,类似于linux上面安装程序会出现一些软连接,删除path变量中这一路径,搞定

C:\Users\q>java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

还有一个需要注意的地方是,诸如eclipse等ide启动时会读取系统配置文件,系统配置文件修改eclipse需要重新启动,不然用的还是旧版本的jdk;希望能帮到遇到此类问题的程序猿们

我的示例模板 =========模板开始================== package com.sgcc.{{=it.module.name}}.domain; $blankline import javax.persistence.*; import java.io.Serializable; import java.util.Date; import lombok.Data; import org.hibernate.annotations.GenericGenerator; $blankline $blankline /** * 容量电价信息表 * @Column参数: 1. name: 指定映射到数据库中的字段名 2. unique: 是否唯一,默认为false 3. nullable: 是否允许为null,默认为true 5. insertable: 是否允许插入,默认为true 6. updatetable: 是否允许更新,默认为true 7. columnDefinition: 指定该属性映射到数据库中的实际类型,通常是自动判断。 * @author changjiakang */ @Data @Entity @Table(name="{{=it.entity.title}}") public class {{=it.func.camel(it.entity.title,true) }} implements Serializable{ {{~it.entity.fields:field:index}} /** {{=it.func.join(field.chnname,field.remark,';')}} */ {{? field.pk }} @Id @GeneratedValue(generator = "idGenerator") @GenericGenerator(name = "idGenerator", strategy = "uuid") @Column(name = "ID", nullable = false, length = 32) {{?}} @Column(name = "{{=field.name}}", nullable = true) private {{=field.type}} {{=it.func.camel(field.name,false)}}; {{~}} } $blankline $blankline =================================================== import java.io.Serializable; import java.math.BigDecimal; import lombok.Data; /** * 容量电价信息Vo * @author changjiakang */ @Data public class {{=it.func.camel(it.entity.title,true) }}Vo implements Serializable { {{~it.entity.fields:field:index}} /** {{=it.func.join(field.chnname,field.remark,';')}} */ private {{=field.type}} {{=it.func.camel(field.name,false)}}; {{~}} } =========模板结束================== 四.重命名数据类型,生成Po Vo如果字段类型为空,需要设置所有空字段对应的数据类型 五.生成po vo 六.数据库新加的表需要重新导入
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值