Java Jar文件未在测试pc上执行

Java Jar文件未在测试pc上执行,java,jar,Java,Jar,我的jar文件正在开发机器上运行,但不会在测试pc上执行。 我检查了一下,发现没有安装jdk,并且我没有在特定PC上的安装权限。缺少jdk是我无法获得结果的原因吗?这是我得到的 C:\Users\autosterileprocuser>java -jar C:\Users\autosterileprocuser\Documents\Sc hedule.jar Exception in thread "main" java.lang.UnsupportedClassVersionError:

我的jar文件正在开发机器上运行,但不会在测试pc上执行。 我检查了一下,发现没有安装jdk,并且我没有在特定PC上的安装权限。缺少jdk是我无法获得结果的原因吗?这是我得到的

C:\Users\autosterileprocuser>java -jar C:\Users\autosterileprocuser\Documents\Sc
hedule.jar
Exception in thread "main" java.lang.UnsupportedClassVersionError: sterileProc/S
cheduleApp : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$000(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: sterileProc.ScheduleApp. Program will exit.

这是一个典型的Java版本问题。您正在使用比用于编译jar的版本更旧的java版本执行jar

在两台计算机上键入java-version,您将看到不同之处


例如,当您使用JDK7编译jar并使用JRE6执行它时,就会发生这种情况。

要执行jar文件,您需要一个JRE Java运行时环境,但不需要JDK Java开发环境


该错误表示安装的JRE不支持使用更高版本的JDK编译的java类。您可以使用javac的-target选项指定要编译的类的版本。

您使用的是旧版本的java。这就是java.lang.UnsupportedClassVersionError的意思,因此只需在测试机器上更新java即可。

这是一个编译版本问题。查看javac命令()的-target选项。在Eclipse中,它可以在Project Preferences->Java编译器中找到。将其设置为要运行程序的目标java。

JDK
不需要运行java程序。您只需要
JRE
,显然它已经安装在您的测试机器上了。