我在尝试在 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运行时。