我创建了一个带有 GUI 的小程序,可以对 PDF 文件重新排序。我想与我的 friend 分享这个程序,所以我创建了一个 .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 虚拟机启动器错误:
a java exception has occurred
这是错误日志:
Exception in thread "main" java.lang.UnsupportedClassVersionError: PDF_Reorder/Main : 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)
如何解决此问题以便该程序可以在任何计算机上安装并运行?
最佳答案
版本错误表明用于编译代码的编译器版本与用于运行代码的 JRE 之间不匹配。
版本 52 对应于 Java 8,而您已指定 1.5 以上的任何 JRE。
我会使用与您使用的任何语言功能兼容的最低版本来构建您的代码。
关于java - 使我的用 Java 编写的程序可供其他人使用时出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26109444/