jni 오류가 발생했습니다

jni 오류가 발생했습니다

Eclipse IDE를 제거한 이유는 다음과 같습니다.이것질문. 그런 다음 Linux 민트 터미널에서 Java 프로그램을 실행해 보았습니다. 그래서 작은 코드로 시작했어요

public class Myth{
public static void main(String[]args){
System.out.println("Hii There");
  }
}

명령을 제공하여 실행 javac Myth.java 하지만 java Myth출력을 제공하지 않으면 다음 오류가 발생합니다.

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version; class=Myth, offset=6
    at java.lang.ClassLoader.defineClassImpl(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:379)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:154)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:729)
    at java.net.URLClassLoader.access$400(URLClassLoader.java:95)
    at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:1184)
    at java.security.AccessController.doPrivileged(AccessController.java:732)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:604)
    at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:926)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:871)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:343)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:854)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:507)

답변1

이것

java.lang.UnsupportedClassVersionError 오류

프로젝트의 일부 라이브러리가 다른 버전의 Java를 사용하고 있으며 그에 따라 경로가 설정되어 있음을 의미합니다. 이 문제를 해결하는 빠른 방법:

$>which java

출력 -> 현재 Java 위치(예: /usr/bin/java)

java --version

출력 -> 1.7.0 또는 1.8.0 이 경우 버전을 전환해 보십시오. 다음을 수행하십시오.

export JAVA_HOME=<path to diff java version sdk>
export PATH=$JAVA_HOME/bin:$PATH

이렇게 하면 새 경로가 이전 경로 앞에 있을 수 있습니다. Eclipse 특정 오류의 경우 홈 디렉터리(프로젝트의 .eclipse 폴더)에서 Eclipse 캐시를 확인하세요. 이 디렉터리와 .project 파일(있는 경우)을 안전하게 삭제하고 다시 컴파일할 수 있습니다.

편집: Offset=6은 현재 Java(JDK) 버전이 1.6임을 의미합니다. 더 높은 버전으로 전환해 보세요. 또한 jre 경로가 아닌 Jdk 경로를 사용하고 있는지 확인하십시오.

관련 정보