3

这就是我得到的:

[user@localhost KioskMenu]$ java -jar ./kioskmenu.jar 
Exception in thread "main" java.lang.ClassFormatError: KioskMenu (unrecognized class file version)
   at java.lang.VMClassLoader.defineClass(libgcj.so.7rh)
   at java.lang.ClassLoader.defineClass(libgcj.so.7rh)
   at java.security.SecureClassLoader.defineClass(libgcj.so.7rh)
   at java.net.URLClassLoader.findClass(libgcj.so.7rh)
   at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.7rh)
   at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
   at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
   at gnu.java.lang.MainThread.run(libgcj.so.7rh)
[user@localhost KioskMenu]$ 

我唯一注意到的是我的 RHEL 使用的是 Java 的“免费”版本。但这应该没关系吧?

4

2 回答 2

5

您使用比 Linux 机器上的 Java 版本更新的 Java 编译了 jar。

于 2011-08-15T15:25:24.923 回答
1

你真的应该这样做:

java -jar ./kioskmenu.jar

注意-.

如果你只是给java jar ./kioskmenu.jar,JVM 试图找到一个名为的类jar并试图./kioskmenu.jar作为参数传递给它——这显然不是你想要的。

于 2011-08-15T15:20:45.610 回答