6

我有一个简单的模块化 javafx 应用程序。

我编译它使用

dir /s /b src\*.java > sources.txt & javac --module-path %PATH_TO_FX% -d mods/hellofx @sources.txt & del sources.txt

这将创建 mods 目录

然后我使用命令创建运行时映像

jlink --module-path "%PATH_TO_FX_MODS%;mods" --add-modules hellofx --output hellofx

这将在 hellofx 目录中创建运行时映像

现在我使用 jpackage 命令来创建 Windows 安装程序。在目录中,我有一个应用程序图标。

jpackage --runtime-image hellofx --module hellofx/hellofx.HelloFX --win-shortcut --win-menu --icon smile.ico

此图标用于已安装的应用程序,但有没有办法为安装程序文件本身创建图标?名为 HelloFX-1.0 的安装程序文件没有图标。有没有办法配置 jpackage 来更改这个文件的图标?谢谢您的帮助!

在此处输入图像描述

4

1 回答 1

5

在底层,jpackage 工具使用特定于平台的工具来创建各种包类型。因此,包装的定制也是非常特定于平台的,并且必须针对每个支持的平台和包装类型单独处理。但是,您可以使用 jpackage 的两个常见功能来简化此任务。

第一个是--temp some_temp_dir要求 jpackage 将创建所选包类型所需的所有脚本和资源复制到目录 some_temp_dir 的选项。这些是 jpackage 默认使用的脚本和资源。

第二个选项--resource-dir some_resource_dir是要求 jpackage 首先在目录中查找资源,some_resource_dir然后仅将其默认值用于在目录中找不到的资源。

使用这两个选项,您可以首先生成一组默认资源,您可以从中选择要修改的资源并将它们复制到目录some_resource_dir中。在 jpackage 的第二次运行中,您可以应用这些更改。您可以通过这种方式进行的最有可能的更改是将各种包类型使用的默认图标替换为您自己的图标。

于 2020-06-06T08:13:46.363 回答