java - 使我的用 Java 编写的程序可供其他人使用时出错?

标签 java eclipse exe nsis launch4j

我创建了一个带有 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/

相关文章:

java - 我怎样才能让用户能够在 android 的 ListView 中编辑项目

Java Mongodb 客户端

java - "Inconsistent datatypes: expected DATE got NUMBER"与 DepartmentsImpl 类

c - 防止 exe 文件关闭

java使用函数作为参数,只关心函数的返回值

java - 基于 sun 检查全局创建检查配置

Android - 无法解析父类(super class)

java - 从父类(super class)调用方法不起作用 Java

vb.net - 如何找到excel.exe路径和notepad.exe路径

python - 为 jython 脚本创建可执行文件