我编写了一个应该导出一组Windows注册表项的代码。我已经成功编写了代码,并且能够将执行代码的结果作为jar文件发送到我的电子邮件中。但是,在测试jar文件时(我在java网站的build.xml中包含了一段代码,允许我从 dist 文件夹中运行jar文件)我能够在我的机器上获得所需的结果,因为我在Windows 8.1机器上编写了代码。在另一台机器上测试它(使用Windows 8和Windows 7专业版)时,我无法执行代码,我得到的错误如下:
“Java虚拟机启动程序,发生了Java异常。”
当我没有在build.xml页面中包含代码以允许jar文件在dist文件夹中运行时,我曾经收到该错误消息,但现在我在执行jar时得到它文件在我自己以外的其他机器上
从命令提示符运行它是我得到的:
Exception in thread "main" java.lang.UnsupportedClassVersionError: smc_1/SMC_1
W1 : Unsupported major.minor version 52.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$100(Unknown Source)
at java.net.URLClassLoader$1.run(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 sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
答案 0 :(得分:2)
@Sara,该错误是JVM不匹配错误。我想你正在尝试在安装了Java 7(或更旧版本)的系统上运行为Java 8编译的jar。您的选择是(a)将JVM更新为Java 8或(b)重新编译应用程序,目标设置为1.7或您需要定位的任何JVM,前提是您的应用程序不包含任何Java 8特定代码。 Oracle在此处提供了有关将Java更新到最新版本的一些信息:http://www.java.com/en/download/help/java_update.xml