【发布时间】:2021-12-22 16:44:04
【问题描述】:
我在 Windows 10(64 位)笔记本电脑上使用 Eclipse 构建了一个 Java SWT 应用程序。我正在尝试将其转换为 .exe 文件,以便任何人都可以运行该应用程序,无论是否安装了 java。
我已使用 Launch4J 将可运行的 .jar 文件转换为 .exe 文件,并且可以在笔记本电脑上成功运行它。
但是,当我尝试在任何其他笔记本电脑上运行它时,.exe 文件在双击时无法打开/不执行任何操作。
当我尝试通过命令行在不同的笔记本电脑上运行原始 .jar 文件时,出现以下错误:
_ 这里的其他帖子说在我所做的构建路径中包含 JRE 和库,但它没有解决问题。
有谁知道如何解决这个问题并允许我的应用程序运行?
【问题讨论】:
-
正如错误所说,您需要为旧版本的 Java 编译代码,或者您需要确保其他 PC 具有正确的版本或 java(或更新)以匹配您的代码是针对编译的。根据应用程序的不同,我们中的许多人仍然使用旧版本的 Java 8 进行编译以确保兼容性。对于 exe 文件,一种解决方案是 Launch4J 可以选择将 jre/JVM 打包到您的 EXE 文件中,这意味着您可以保证正在使用的版本,尽管它创建了一个更大的 exe,因为它现在包含所有JVM/jre 文件。
-
注意:Java 版本 52=Java 8,而 Java 版本 55=Java 11。看起来您的 eclipse 小部件库需要更新版本,因此您需要在该 PC 上安装 Java 11运行您的 jar(或将其打包到 exe 中),或者您需要找到已为 java 8 编译的旧版本的 eclipse 库,您可以在项目中使用它。
-
@sorifiend 通过添加必要的 jre 库,我能够成功运行我的 .exe 文件,谢谢!如果您将此添加为答案,我将接受它作为解决方案。
-
很高兴听到您解决了这个问题。让我们把这个问题作为另一个How to bundle a JRE with Launch4j? 的副本来结束,它有一些很好的答案。