java - .jar 适用于 Windows 但不适用于 Linux (stacktrace)

标签 java linux jar rhel

这是我得到的:

[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/

相关文章:

java - 通用论证

java - 用于引发异常的内联 lambda 语法

java字符串连接和实习

linux - Sonarqube-4.0 在 Linux 机器 (linux-x86-32) 中设置时出现问题

linux - Linux 上的 R 包管理

java - TabbedPaneUI 绘制选定的选项卡

python - 如何在 python 上编写一个程序,将树莓派连接到 Windows PC 并允许两者进行通信?

Java - 如何找出导入来自哪个 Jar 文件?

java - 如何在 Maven 中使用 1 个 Jar 执行子项目?

java - 制作一个单jar java应用程序