今天我下载了jdk 11.0.1,一番配置后,运行简单的程序时时出现了java.lang.UnsupportedClassVersionError
的错误,错误信息如下:
错误信息
1 | ajm@DESKTOP-R8SS06A MINGW64 /d/学习/cs61b |
分析
由错误信息可以知道,是由于高版本的JDK(Java Development Kit),编译产生的.class文件在低版本的JRE(Java Runtime Environment) 无法运行而报错。JDK是用于java程序开发的工具包,包含javac编译器、jar打包工具等。JRE是能够让计算机运行java程序的软件包,比如java HelloWorld,执行HelloWorld程序。
查看JDK,JRE版本
1 | ajm@DESKTOP-R8SS06A MINGW64 /d/学习/cs61b |
发现JRE是老的版本,于是我直接删除了这个老的版本。但是发现运行时出了问题:1
2
3ajm@DESKTOP-R8SS06A MINGW64 /d/学习/cs61b
$ java -version
bash: /c/Program Files (x86)/Common Files/Oracle/Java/javapath/java: No such file or directory
这是因为环境变量中的路径问题,直接在PATH中删除老版本java的路径,就能正确找到java 11.0.1这个版本。