java与javac版本不一致问题

如果安装多个版本的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
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

feihong247

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值