`
cooliufang
  • 浏览: 127469 次
社区版块
存档分类
最新评论

JDK1.7 & JDK1.6

    博客分类:
  • Java
阅读更多
今天在解决问题I"Unsupported major.minor version 51.0"时(link to:), 碰到了另一个问题II:关于JDK1.6 & JDK1.7.

首先,问题I
Eclipse中JDK的配置有两个地方,一是开发的项目properties->java build path,
另一是Windows->Java compiler->compiler compliance level.
这两者是有区别的:
build path中的JDK版本是,开发过程中编译器需要的,即提示报错、进行类库的编译(使用类是否在这个JDK中);
compiler compliance level 中的JDK版本,是项目开发结束后在服务器上运行时所需要的,对项目语法的编译,即服务器上JDK的运行版本。
在开发过程中,这两个JDK都起作用,所以,保证build path、complier compliance level都和服务器配置的JDK一致就不会出现问题了。

其次,问题II
系统Win7 ulitmate(64),一开始按照jdk1.7(64位),JAVA_HOME=D:\Program Files\Java\jdk1.7.0_09,
后来发现与服务器上的jdk不一致,又重新安装了jdk1.6(64位), JAVA_HOME=D:\Program Files\Java\jdk1.6.0_37.
但是,重新安装后,在命令行中java -version显示的jdk版本还是1.7,重启后也不对。
检查了一下注册表,发现JavaSoft中的信息还都指向jdk1.7,也就是说跟JAVA_HOME的设置无关。
原因在于jdk1.7安装版本,在安装过程中就会自动在注册表中注册,然后JDK直接读取注册表中变量,忽略了环境变量。
所以卸载了jdk1.7,删除注册表信息,java -version就变成了jdk1.6了。
分享到:
评论
2 楼 SpringJava 2014-12-17  
应该是你没有退出command console的原因,先退出command console再进入,相当于刷新功能!
1 楼 SpringJava 2014-12-17  
也就是说跟JAVA_HOME的设置无关。 ----不正确!

我自己通过测试,由JAVA_HOME指向1.7的配置,改成指向1.6的配置后,通过java -version能及时显示更改后的版本。我的系统也是Win7 ulitmate(64)旗舰版

相关推荐

Global site tag (gtag.js) - Google Analytics