我创建了一个带有GUI的小程序,可以重新排序PDF文件。我想与我的朋友分享这个程序,所以我创建了一个.jar文件,并使用launch4j将.jar文件转换为.exe文件。 我在计算机上启动了.exe文件,程序运行正常。
这是由launch4j创建的xml文件:
enter code here<?xml version="1.0" encoding="UTF-8"?>
-<launch4jConfig>
<dontWrapJar>false</dontWrapJar>
<headerType>gui</headerType>
<jar>C:\Users\amita_000\Desktop\pdf1\PDF\jar\PDFReorder.jar</jar>
<outfile>C:\Users\amita_000\Desktop\pdf1\PDF\PDFReorder.exe</outfile>
<errTitle/>
<cmdLine/>
<chdir>.</chdir>
<priority>normal</priority>
<downloadUrl>http://java.com/download</downloadUrl>
<supportUrl/>
<stayAlive>false</stayAlive>
<manifest/>
<icon>C:\Users\amita_000\Desktop\pdf1\PDF\pdf-512.ico</icon>
-<jre>
<path/>
<bundledJre64Bit>false</bundledJre64Bit>
<minVersion>1.5.0</minVersion>
<maxVersion/>
<jdkPreference>preferJre</jdkPreference>
<runtimeBits>64/32</runtimeBits>
</jre>
</launch4jConfig>
现在我使用NSIS创建了一个安装程序,它将可执行文件安装到计算机“Program Files”目录中。
当我在不同的计算机上安装程序时,我成功安装,但是当我尝试运行该程序时,我得到了一个java虚拟机启动程序错误:
发生了java异常
这是错误日志:
线程“main”中的异常java.lang.UnsupportedClassVersionError:PDF_Reorder / Main:不支持的major.minor版本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) 在java.net.URLClassLoader.access $ 100(未知来源) 在java.net.URLClassLoader $ 1.run(未知来源) 在java.net.URLClassLoader $ 1.run(未知来源) 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) 在sun.launcher.LauncherHelper.checkAndLoadMain(未知来源)
如何解决此问题,以便可以在任何计算机上安装和运行此程序?
答案 0 :(得分:1)
版本错误表明用于编译代码的编译器版本与用于运行代码的JRE之间存在不匹配。
版本52对应于Java 8,而您已指定任何1.5以上的JRE。
我使用与您使用的任何语言功能兼容的最低版本构建代码。