JDK8安装之后,用javac编译文件时没事,执行java时报错【A JNI error has occurrd, please check your installation and try again】
检查了javac -version 和java -version版本
发现javac是javac 14,java是java8
电脑中有其他版本的jdk,不记得什么时候装的了
把其他版本的jdk文件删除
再检查Javac版本,显示不是内部或外部指令
这时觉得可能环境变量没设置好,把系统变量中的ATH%JAVA_HOME%\bin改成了bin目录的路径
这时候再检查javac的版本就变成了8,不知道是哪里输入有问题还是怎样,勉强解决了
想问一下是不是只装一个版本的jdk比较好?
另外,JAVA_HOME引用为什么无效?用路径就可以,感觉书写也没问题啊 ?
因为没有图,所以只能根据题主描述来判断,首先说java是可以安装多版本的,我电脑上就安装,7,8,9,11,17几个版本的,主要问题还是在于环境变量设置,
后期版本的java安装的时候可能会自动设置环境变量,要注意把自动安装的环境变量删除,或者要保证自己设置的环境变量在最前边
至于环境变量设置最佳方式是设置JAVA_HOME,然后通过JAVA_HOME在path中添加相关jdk和jre的路径
最近几个版本的jdk安装包默认没有jre,需要手动生成,如果只是开发的话,有jdk就够了,但是只有jdk的话,就需要把其他java的jre环境配置去掉,否则就会出现编译用的是一个版本,运行用的是另一个版本,根据以上提示,如果不知道怎么解决,你可以截图看看目前的问题
我之前的用户变量和系统变量的设置
虽然搞好了,不知道为嘛,书写错误还是什么,我这个系统变量path设置java8在Java14之前啊