java环境变量版本_Java环境变量配置解决版本不⼀致问题
(转)
1.进⾏win8下Java环境变量配置,在"系统变量"下进⾏如下配置:
(1)新建->变量名:JAVA_HOME变量值:F:\Program Files (x86)\Java\jdk1.7.0_67
(2)编辑->变量名:Path在变量值的后⾯加上:;%JAVA_HOME%\bin;
(3)新建->变量名:CLASSPATH变量值:):F:\Program Files (x86)\Java\jdk1.7.0_67\lib
注:jdk1.6以后的环境变量配置已经没有那么复杂了,不在需要配置.;的形式。
java环境变量自动配置问题:解决了问题1之后,对与HelloWord.java 输⼊javac HelloWorld之后出现 UnsupportedClassVersionError 错误:
这个很明显是⼀个版本不⽀持的问题,经过搜索发现问题所在:
出现java.lang.UnsupportedClassVersionError 错误的原因,是因为我们使⽤⾼版本的JDK编译的Java class⽂件试图在较低版本的JVM上运⾏,所报的错误。
因为,⾼版本的JDK⽣成的class⽂件使⽤的格式,可能与低版本的JDK的.class⽂件格式不同。这样,低版本的JVM⽆法解释执⾏这个.class⽂件,会抛出java.lang.UnsupportedClassVersionError不⽀持的Class版本错误。
分别输⼊java -version 和javac -version
我的编译环境是1.7的,⽽运⾏环境是1.6的,果然是这个问题。
解决⽅案1:
分析:可能是安装oracle数据库在配置jdk路径之前,导致运⾏命令调⽤了oracle⾃带的jdk,从⽽导致这个问题。
解决⽅案:把PATH变量末尾的;%JAVA_HOME%\bin挪到最前⾯,重启窗⼝。(dos启动时会加载环境变量)
解决结果:
解决⽅案2:
在注册表中修改:HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Runtime Environment 改为1.8
再次运⾏java -version
总结:
⽅案⼀和⼆本质上是⼀样的,需要保持⼀致。从这个问题建议⼤家把path中%JAVA_HOME%\bin给放到最前⾯,当然你的jdk版本得⽀持你后⾯需要安装的软件。
总结⼏个知识点吧~~
JDK、JRE有什么区别:
Jre  是java  runtime  environment的缩写,  是java程序的运⾏环境。既然是运⾏,当然要包含jvm,也就是⼤家熟悉的虚拟机啦, 还有所有java类库的class⽂件,都在lib⽬录下打包成了jar。⼤家可以⾃⼰验证。⾄于在windows上的虚拟机是哪个⽂件呢?  Java\jdk\
jre\bin\client⾥⾯是不是有⼀个jvm.dll呢?那就是虚拟机。
Jdk  是java  development  kit,是java的开发⼯具包,⾥⾯包含了各种类库和⼯具。当然也包括了另外⼀个Jre--------Java\jre.  那么为什么要包括另外⼀个Jre呢?⽽且jdk\jre\bin同时有client和server两个⽂件夹下都包含⼀个jvm.dll。  说明是有两个虚拟机的。
Java\jdk\bin这个bin下有各种java程序需要⽤到的命令,与Java\jdk\jre\bin或者Java\jre\bin的bin⽬录最明显的区别就是Java\jdk\bin 下才有,这⼀点很好理解,因为 jre只是⼀个运⾏环境⽽已。与开发⽆关,正因为如此,具备开发功能的jdk⾃⼰的jre下才会同时有client性质的jvm和server性质的 jvm, ⽽仅仅作为运⾏环境的jre下只需要client性质的jvm.dll就够了。
我们⽤的java命令并不是 Java\jdk\bin⽬录下的⽽是Java\jdk\jre\bin⽬录下的。不信可以做⼀个实验,⼤家可以把Java\jdk\bin⽬录下的剪切到别的地⽅再运⾏ java程序,发现了什么?⼀切OK!
如果java为了提供给⼤多数⼈使⽤,他们是不需要jdk做开发的,只需要jre能让java程序跑起来就可以了,
那么每个客户还需要⼿动去设置环境变量多⿇烦啊?
所以安装jre的时候安装程序⾃动帮你把jre的添加到了系统变量中,因此去C:\Windows\system32下⾯去看看吧,发现有⼀个。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。