Kubuntu 中的 JRE 不允許我執行 .jar 文件

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.

答案1

您正在針對較低版本的 JVM 執行較高版本的程式碼 ( 51= java7)。因此,請針對相同版本的 jdk 編譯並執行您的程式碼。我猜你可能安裝了不只一個版本的java運行時。

相關內容