我有一个简单的模块化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配置为也更改此文件的图标?谢谢您的帮助!
最佳答案
在后台,jpackage工具使用特定于平台的工具来创建各种包类型。因此,包装的定制也非常特定于平台,必须针对每种受支持的平台和包装类型分别进行处理。但是,可以使用jpackage的两个通用功能来简化此任务。
第一个是--temp some_temp_dir
选项,它要求jpackage将创建选定包类型所需的所有脚本和资源复制到some_temp_dir目录中。这些是jpackage默认使用的脚本和资源。
第二个选项是--resource-dir some_resource_dir
选项,它要求jpackage首先在some_resource_dir
目录中查找资源,然后将其默认值仅用于在该目录中找不到的资源。
使用这两个选项,您可以首先生成一组默认资源,从中可以选择要修改的默认资源,并将其复制到some_resource_dir
目录中。然后在第二次运行jpackage中,您可以应用这些更改。您可以通过这种方式进行的最可能的更改是将各种程序包类型使用的默认图标与您自己的图标交换。