[英]JavaFX project wrapped with Launch4j VM arguments path
对于我的一些项目,我使用 JavaFX 作为 GUI,在 JavaFX 被拆分为 OpenJFX 之前,我没有遇到任何问题。 现在我想使用 JDK 和 JavaFX 的最新版本,因此必须进行一些更改。
在 Eclipse 中工作时,一切正常运行,我添加了 JavaFX 作为库,但是当我尝试使用可运行的 Z68995FCBF432492D15484DACj.ZD9 创建 exe 文件时遇到一些问题在 Eclipse 我使用 2 VM arguments:
使用第二个参数我没有任何问题,因为它不需要 lib 的路径,但第一个需要,而且我不能简单地使用 static 路径(如:C:\MyAppName\lib)因为用户可以在他想要的地方安装应用程序,并且也会有 lib。 话虽如此,我可以使用什么作为相对路径,所以 Launch4j 知道该怎么做? lib文件夹与 exe 位于同一位置。
我尝试了以下但没有运气(我已将它们添加到 JVM 选项框中):
这个问题可能有一些可能与我需要的内容无关的细节,但也许其他人也有同样的问题,我想添加它们以在我得到答案时也能帮助他们。
根据@James_D 的建议,我实际上使用了jpackage
而不是Launch4j
,它更好,不仅它创建了您的 exe 文件,而且还消除了用户安装 Java 的需要,方法是创建一个平台特定格式的本机 package。
话虽如此,这是 Windows 10 操作系统的小指南,介绍如何将jpackage
与 JavaFX 项目一起使用。 有关更多信息,请阅读文档。 jpackage
适用于 macOS 和 Linux,但我使用的是 Windows 10,因此该指南是针对它的。
jpackage
,您还需要下载WiX Toolset并安装它;jpackage -h
以查看jpackage
是否正常工作。 如果你得到The term 'jpackage' is not Recognized as the name of a cmdlet ,然后打开环境变量并在系统变量/路径中添加来自 Java JDK 的 bin 文件夹的位置。 一种简单的方法是在 Windows 搜索栏中搜索环境,然后选择Edit the system environment variables ,然后选择Environment variables... jpackage -t exe --name "Name of app" --app-version 1.0 --input "Location of runnable Jar" --dest "Location where the exe will be created" --main-jar "Name of the runnable Jar, with extention.jar at the end" --icon "Complete location where the icon of the app is.ico" --module-path "Location of jmods folder" --add-modules javafx.controls,javafx.graphics,javafx.fxml,javafx.base --win-shortcut --win-menu
例子:
jpackage -t exe --name "MyApp" --app-version 1.0 --input "D:\Projects\Jars\" --dest "D:\Projects\Executable" --main-jar "Guide.jar" --icon "D:\Projects\Icons\guide.ico" --module-path "D:\Projects\JavaFX\javafx-jmods-16" --add-modules javafx.controls,javafx.graphics,javafx.fxml,javafx.base --win-shortcut --win-menu
jpackage
后所做的是我正在运行它创建的 exe 文件,然后从它创建的文件夹中,我从该文件夹( exe文件,应用程序和运行时文件夹)并将它们与我的项目的所有其他必要文件一起粘贴到该位置。 这样我就可以对其进行测试,如果它有效,我将继续为它创建安装程序,就像我说的那样,使用我自己的安装程序应用程序。 这个命令有很多你可以添加的选项,所以阅读文档,通过运行jpackage -h
来阅读完整的选项列表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.