使用java命令出现Error: A JNI error has occurred, please check your installation and try again的错误

运行Java程序,javac运行.java文件没有报错,但java运行的时候报错

???

仔细看一下报错

Exception in thread "main" java.lang.UnsupportedClassVersionError: helloworld has been compiled by a more recent version of the Java Runtime (class file version 54.0), this version of the Java Runtime only recognizes class file versions up to 52.0

查一下原因,发现为java与javac版本不一致而造成的。

java -version和javac - version一下,果真如此

两个版本不一致

解决:

1、查询Linux系统内有多少java版本

rpm -qa |grep java

???

2.然后一个个删除干净

rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.181-3.b13.el7_5.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.171-2.6.13.0.el7_4.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.0.el7_4.x86_64
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64
(输入rpm -e --nodeps +“存在的java版本”)有多少删除多少

3、检验原有的java版本是否全部移除

[[email protected] 8-1]# java - version
-bash: /usr/bin/java: No such file or directory

4、原有的版本移除后配置新安装的java环境变量

vi /etc/profile 

编辑profile文件,在最后加上

JAVA_HOME=/usr/local/java/jdk-10.0.2/   ###(“jdk-10.0.2”改为你要安装的java版本的安装文件名)
JRE_HOME=$JAVA_HOME/           ###(由于jdk10解压缩后没有jre文件夹,如果为jdk10以下的版本应
                               为“JRE_HOME=$JAVA_HOME/jre”)
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export JAVA_HOME JRE_HOME PATH CLASSPATH

5、最后更新一下

source /etc/profile

完成

???

搬迁自我的CSDN博客:https://blog.csdn.net/kingyuan666

原文地址:https://www.cnblogs.com/circleyuan/p/10350110.html

时间: 2024-08-30 02:23:11

使用java命令出现Error: A JNI error has occurred, please check your installation and try again的错误的相关文章

Eclipse 运行导入的 Java 项目时,Error:A JNI error has occurred

出现场景 导入 Java 项目,运行时,出现:Error:A JNI error has occurred.... 解决方式 该项目的 Build Path , 在Libraries 中删除后重新添加,Add Library.. -> JRE System Library -> Execution environment:JavaSE-1.8 .此时可以正常运行了. 原文地址:https://www.cnblogs.com/blueherb/p/10559320.html

Error: A JNI error has occurred, please check your installation and try again

学习java高级编程,新建了一个工程,报名取为java,结果运行代码后出现如下错误: 重新命名package就好了. Error: A JNI error has occurred, please check your installation and try again

java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind

当我们在启动tomcat服务的时候,出现报错信息:java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bin 分析:可能端口被占用引起的 解决方案:2种 (一) 直接修改tomcat服务器的端口 步骤: 1:找到tomcat->conf文件夹下server.xml文件 2.修改下面代码中的端口 <Connector port="8080" redirectPort="8443&q

Jni Error(app bug): accessed stale local reference 的另类出现方式

Jni Error(app bug): accessed stale local reference 这个错误平常是 弱全局变量引起的时候 出现的一个错误,但是今天我却在另外一种情况下遇到了 下面是错误截图 出现错误的原因其他很简单 是因为自己的粗心引起的 java层函数声明是这么写的 public native String screenshot(int x,int y,int x1,int y1,byte[] path); jni是这么写的 void Java_java_api_JniUti

JNI ERROR (app bug): accessed stale local reference 0xbc00021

在android ndk编程时,要使用到.so文件,so文件使用c语言编写的.当我在c文件中调用java类时,第一次调用时没问题的,但第二次调用的时候就失败了.上网搜了很多资料,大概原因是在jni中,使用指针指向某一个java对象的时候,由于android的垃圾回收机制(Garbage Collector),如果java对象被回收的话,那么指针指向的对象就会为空或者不存在,从而提示JNI ERROR:accessed stale(陈旧的,落后的) local reference 大概的意思就是变

java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind 【 解决方案】

当我们在启动tomcat服务的时候报错信息:java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bin 分析:从错误信息中我们可以看到是socket   java虚拟机报错凭经验这个一般是端口被占用引起的 解决方案: (一) 直接修改啊tomcat服务器的端口 步骤: 1:找到tomcat->conf文件夹下server.xml文件 2.修改下面代码中的端口 [html] view plaincopy <Co

tomcat:java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind

error message:Error initializing endpointjava.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bindat java.net.PlainSocketImpl.socketBind(Native Method)at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)at java.net.ServerSocket.

java.net.socketexception:unrecongnized windows sockets error:0:JVM_Bind

MyEclipse下的java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind异常一般为Tomcat端口被占用所致,解决办法如下: 1.查看Tomcat所使用的端口 打开Tomcat安装目录下的conf文件夹,如D:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0\conf 找到server.xml文件 查看Tomcat配置的端口号(一般为

java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 \ ^

1 String a = "1991\12\16"; 2 String[] split = a.split("\\"); 3 System.out.println(new Gson().toJson(split)); 报错java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 \  ^ 报这个错的原因是因为在java中“\”是一个转义字符,所以需要用两个代表一个.例