java版本与javac版本_java与javac版本不一致问题

当系统中安装了多个Java版本时,可能会遇到java-version与javac-version显示不一致的情况。此问题通常由于高版本JRE的动态链接库被优先调用导致。解决方法是将%JAVA_HOME%in添加到PATH变量的最前面,确保执行的Java版本与设置的JAVA_HOME一致。通过调整环境变量,可以成功解决版本冲突问题。
摘要由CSDN通过智能技术生成

如果安装多个版本的jdk的话,比如:jdk1.5.0_09、jdk1.5.0_17和jdk1.6.0_12,

会发现java -version和javac -version的结果不一致。

尽管在环境变量中设置了java_home和path及classpath,如下:

C:\Users\can_do>set path

C:\Java\jdk1.5.0_17\bin;PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

C:\Users\can_do>set classpath

classpath=.;C:\Java\jdk1.5.0_17\lib\dt.jar;C:\Java\jdk1.5.0_17\lib\tools.jar;C:\Java\jdk1.5.0_17\lib;

但是检查java -version时发现,其版本显示的是jdk1.6.0_12的版本,如下:

*******begin*********

C:\Users\can_do>set java_home

java_home=C:\Java\jdk1.5.0_17

C:\Users\can_do>java -version

java version "1.6.0_12"

Java(TM) SE Runtime Environment (build 1.6.0_12-b04)

Java HotSpot(TM) Client VM (build 11.2-b01, mixed mode, sharing)

C:\Users\can_do>javac -version

javac 1.5.0_17

*******end*********

经分析检查,是因为高版本中的jre的dll文件被调用了,如下:

C:\Java\jre1.6.0_12\bin\client\jvm.dll

*****************************

C:\Users\can_do>java -version

Error opening registry key 'Software\JavaSoft\Java Runtime Environment\1.6'

Error: could not find java.dll

Error: could not find Java SE Runtime Environment.

C:\Users\can_do>

解决方法:将%JAVA_HOME%\bin加在PATH变量的头,执行java -version和javac -version,均为java version "1.7.0"版。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值