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 경로를 사용하고 있는지 확인하십시오.