Java应用程序(jar)在Windows而不是Linux(在Eclispe中制作)

我已经在Windows环境中创build了这个应用程序。 在eclipse中,我通过File > Export > Executable Jar了一个可执行的.jar文件

我可以通过Java打开应用程序在Windows中启动。 然而在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下构建它,或者将Java 6安装到您的Linux机器上

jar编译的版本高于你正在运行的版本。

http://download.oracle.com/javase/1.4.2/docs/api/java/lang/UnsupportedClassVersionError.html

java.lang.UnsupportedClassVersionError:.class文件中的版本号不正确?

这意味着JAR文件被编译为当前安装的JVM无法运行的JVM字节码版本。

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