Java应用程序(jar)在Windows中工作,但在Linux中不工作(在Eclispe中制作)

Java应用程序(jar)在Windows中工作,但在Linux中不工作(在Eclispe中制作),java,windows,linux,jar,Java,Windows,Linux,Jar,我在Windows环境中创建了此应用程序。在eclipse中,我通过转到file>Export>executable-jar 我可以在Windows中用Java打开应用程序。然而,在Linux中,当我运行java-jar app.jar时,我得到以下信息: Exception in thread "main" java.lang.UnsupportedClassVersionError: ConfigReader (Unsupported major.minor version 50.0)

我在Windows环境中创建了此应用程序。在eclipse中,我通过转到
file>Export>executable-jar

我可以在Windows中用Java打开应用程序。然而,在Linux中,当我运行
java-jar app.jar
时,我得到以下信息:

Exception in thread "main" java.lang.UnsupportedClassVersionError: ConfigReader (Unsupported major.minor version 50.0)
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)

不支持的类版本错误是什么意思?

应用程序可能是用Java 6编写的,您正在尝试用Java 5运行它。您可以在eclipse中的Java 5下构建它,也可以在linux机器上安装Java 6。这意味着JAR文件被编译为当前安装的JVM无法运行的JVM字节码版本


软件在较新版本的Java上编译,但试图在较旧版本上运行的可能性很大。

编译jar的版本高于您尝试运行的版本


该死!我甚至没有考虑过我使用的java版本。谢谢你指出这一点。将在6分钟内接受。