Linux-Mint
發生 jni 錯誤
由於這個問題,我解除安裝了 Eclipse IDE。然後我嘗試在我的 Linux mint 終端中執行 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)
這
java.lang.UnsupportedClassVersionError
意味著,您項目中的某些庫正在使用不同版本的 java ,並在路徑中進行相應設置。快速解決此問題:
$>which java
輸出->目前 java 的位置(例如 /usr/bin/java)
java --version
output->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。嘗試將其切換到更高版本。還要檢查您使用的是 Jdk 路徑而不是 jre 路徑