java配置完多版本jdk之后java -version和javac -version版本不一致

内容分享12小时前发布
0 0 0

1. java配置完多版本jdk之后java -version和javac -version版本不一致

1.1. Java编译时错误:A JNI error has occurred, please check your installation and try again


Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/zzs/szfz/SzfzApplication has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0

java配置完多版本jdk之后java -version和javac -version版本不一致

1.2. java -version和javac -version

  在桌面,开始->运行->键入cmd 回车,进入windows命令行。
java配置完多版本jdk之后java -version和javac -version版本不一致
java配置完多版本jdk之后java -version和javac -version版本不一致
  当前默认目录为C盘Users文件夹下的Administrator文件夹。一般而言,我们习惯改变当前目录。由于windows有磁盘分区,若要跳到其他磁盘,例如E盘,有几种方法:
  (1)输入命令: pushd 路径(此命令可将当前目录设为所希望的任一个已存在的路径)
  (2)输入命令: e: 转移到e盘,然后再输入 cd 转移到所希望的已知路径。
  希望在windows命令行下使用javac、java等命令,那么当前电脑必须安装了jdk,并且将jdk的bin目录添加到环境变量path下了。这个不用多说。那么让我们看一下如何使用javac、java吧。
  java和javac命令的区别在于:javac用于将Java源代码编译为字节码文件(.class),而java命令则负责运行这些字节码文件。

项目 Value Value
命令 用途 示例
javac 编译Java源代码文件为字节码文件 javac hello.java
java 运行字节码文件 java hello

  要注意的是,如果源代码中声明了包,必须使用类的完整限定名来运行类。此外,javac报错通常意味着源代码存在问题,如缺少分号、括号不匹配、导入错误等,定位并修复这些问题即可。

1.3. 原因分析

  重复安装了JDK,电脑中存在不同版本JDK

1.3.1. 命令行

  命令行中通过“java -version”和“javac -version”查询SDK版本
设置了环境变量JAVA_HOME为D:jdkjdk-1.8.0_74的安装目录,但在cmd命令行下:
  执行java -version显示:“jdk-1.8.0_74”
  而执行javac -version显示:“jdk-17.0.7”
java配置完多版本jdk之后java -version和javac -version版本不一致

1.3.2. 分析

  同时安装了jdk-1.8.0_74和jdk-17.0.7,且PATH变量中,C:WINDOWSsystem32目录在%JAVA_HOME%in之前。
  在Windows命令行下执行命令时,先从当前目录搜素,然后按照PATH设置的路径依次查找命令,而JRE安装时会将java.exe安装到C:WINDOWSsystem32目录下,所以执行java -version命令时,查看的是jre的版本,而javac -version时查看的jdk的版本。

1.3.3. 解决方案

java配置完多版本jdk之后java -version和javac -version版本不一致
  将%JAVA_HOME%in加在PATH变量的头,执行java -version和javac -version,均为jdk-17.0.7版。
java配置完多版本jdk之后java -version和javac -version版本不一致
java配置完多版本jdk之后java -version和javac -version版本不一致
 &emsp自己添加的两行放到javapath那一行的上面,不管是通过把上面那一行挪下来还是下面那两行挪上去都可以(相对位置自己添加的在原先的上面就可以了,这是因为PATH中的第一行javapath的优先级高于你后面自己配置JAVA_HOME的内容)。
java配置完多版本jdk之后java -version和javac -version版本不一致
java配置完多版本jdk之后java -version和javac -version版本不一致

© 版权声明

相关文章

暂无评论

none
暂无评论...