这是我得到的:
[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 版本。但这应该无关紧要吧?
最佳答案
您使用比 Linux 机器上的版本更新的 Java 版本编译了 jar。
关于java - .jar 适用于 Windows 但不适用于 Linux (stacktrace),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7066761/