Java环境变量配置&解决版本不一致问题详解
来源:互联网 发布:sqlserver 删除表 编辑:程序博客网 时间:2024/05/16 09:38
晚上琢磨ant的使用,需要用java javac编译文件,出现了如上问题。网上找了篇文章,再结合自己的情况改动了下,留着备份记录。
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以后的环境变量配置已经没有那么复杂了,不在需要配置.;的形式。
问题:解决了问题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下才有javac.exe,这一点很好理解,因为 jre只是一个运行环境而已。与开发无关,正因为如此,具备开发功能的jdk自己的jre下才会同时有client性质的jvm和server性质的 jvm, 而仅仅作为运行环境的jre下只需要client性质的jvm.dll就够了。
我们用的java命令并不是 Java\jdk\bin目录下的而是Java\jdk\jre\bin目录下的。不信可以做一个实验,大家可以把Java\jdk\bin目录下的java.exe剪切到别的地方再运行 java程序,发现了什么?一切OK!
如果java为了提供给大多数人使用,他们是不需要jdk做开发的,只需要jre能让java程序跑起来就可以了,那么每个客户还需要手动去设置环境变量多麻烦啊?
所以安装jre的时候安装程序自动帮你把jre的java.exe添加到了系统变量中,因此去C:\Windows\system32下面去看看吧,发现有一个java.exe。
转自:http://www.cnblogs.com/luoyebojue/p/5248767.html
- Java环境变量配置&解决版本不一致问题详解
- Java环境变量配置&解决版本不一致问题
- Java环境变量配置&解决版本不一致问题
- Java环境变量配置&解决版本不一致问题
- Java环境变量配置&解决版本不一致问题
- Java环境变量配置&解决版本不一致问题 (转)
- 解决电脑java程序的运行环境与环境变量配置的不一致的问题
- JDK安装多个版本出现Java -version和你配置的环境变量的jdk版本不一致的问题
- 如何解决代码版本不一致的问题
- hbase probuf版本不一致问题的解决
- 解决ADT和SDK版本不一致问题
- JDK 和JRE 解决版本不一致问题
- Spring的maven配置版本不一致问题
- Java - java与javac版本不一致问题
- JAVA环境配置及再次配置后cmd内版本不一致问题
- java与javac版本不一致问题
- java与javac版本不一致问题
- 处理linux java -version版本不一致问题
- 用递归的方法求树的高度、度
- jdk安装 & tomcat
- jsp,el表达式,jstl标准标签库
- Excel导入导出封装工具类
- leetcode-300 Longest Increasing Subsequence
- Java环境变量配置&解决版本不一致问题详解
- ES5中新增的Array方法详细说明
- 杭电暑期多校集训—RXD's date
- jQuery之父:每天都写点代码
- 测量学—数字测图原理与方法
- 开发工具中的快捷键记录
- LineSearch BinarySearch
- PL/SQL Developer导出大量数据到excel的快速方法,解决数据量大导出慢的问题
- TensorFlow-3 CNN数字识别