Java
Kubuntu 中的 JRE 不允許我執行 .jar 文件
我在嘗試在 Kubuntu 上執行 .jar 應用程序時遇到問題。我在 Windows 的 NetBeans 中創建了一個應用程序,並將其編譯成一個 .jar 文件。首先 Windows 找不到主類。我搜尋了網際網路並修復了 JRE 的一些系統資料庫值,現在一切正常。但是,在 Kubuntu 中也出現了同樣的問題,但我找不到任何幫助。我什至嘗試解壓縮 .jar 文件並使用許多不同的路徑地址修改清單文件中的類路徑,但沒有任何效果。
由於 Windows 中的問題出在 JRE 而不是我的應用程序上,我認為 Kubuntu 中也發生了同樣的情況。一個重要的注意事項是我也在 Kubuntu 上安裝了 NetBeans,當我在 Netbeans 下調試或執行應用程序時,它工作正常,但是當我編譯它並嘗試執行它時:
java -jar “MBoxTest.jar”
我在 Windows 上遇到了同樣的錯誤,包括最後一個說它找不到主類的錯誤:
Exception in thread "main" java.lang.UnsupportedClassVersionError: my/mboxtestui/MBoxTestUI : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:634) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:277) at java.net.URLClassLoader.access$000(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:212) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:321) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) Could not find the main class: my.mboxtestui.MBoxTestUI. Program will exit.
您正在針對較低版本的 JVM執行較高版本的程式碼 (
51
= )。java7
因此,針對相同版本的 jdk 編譯和執行您的程式碼。我猜您可能安裝了多個版本的 java 執行時。