【问题标题】:How to make an .exe and an .app from a JavaFX 11 application using Netbeans如何使用 Netbeans 从 JavaFX 11 应用程序制作 .exe 和 .app
【发布时间】:2019-06-09 11:51:43
【问题描述】:

我有一个 javaFx 应用程序开发:

  • OpenJDK 11
  • NetbeansIDE 10
  • JavaFX 11

按照 javaFX 11 说明 (here),我创建了一个自包含的应用程序。

不幸的是,要启动应用程序需要一个长命令。像这样的:

dist/jlink/HelloFX/bin/java -m hellofx/org.openjfx.MainApp

这不是最终用户的最佳选择。

我的问题是:

  • 如何创建易于分发和启动的 .exe (Windows) 和 .app (macOS)?
  • 如何为应用添加图标(现在应用显示带有经典的 java 杯子图标)?

我找不到任何更新的路线。

谢谢。

【问题讨论】:

  • 你可以提供一个.bat resp。包含命令的.sh 文件。脚本也可以作为可执行文件
  • @Stultuske 这个独立的应用程序(通过jlink)已经是特定于平台的;它将包含具有特定于平台的本机代码的 JavaFX 和 JDK 模块。我得到的印象是 Java 生态系统正在朝着封装在本地可执行文件中的自包含应用程序发展。我所看到的一切都表明,如今部署 JavaFX 应用程序需要针对每个目标平台使用不同的包。请注意,Java 代码 仍将是跨平台的。
  • @Stultuske:按照我遵循的过程,我得到了一个 jar 和一个包含一堆不同文件的目录。这并不容易分发、安装和运行。此外,javaFX 已经需要包含依赖于平台的 jmod。
  • @Lino。不幸的是,我认为这是唯一的选择。这意味着我必须分发一个带有一堆其他文件的 jar。不过 .bat 或 .sh 对用户并不友好。
  • 有什么方法可以考虑在您的项目中使用 Gradle? NetBeans 10 具有运行jlink 的内置任务,但不适用于(传入的)jpackage 工具。用 Ant 做这件事并不是很吸引人……

标签: java javafx netbeans


【解决方案1】:

编译可执行JAR文件,然后使用工具将其转换为EXE。

有几种方法可以做到这一点:

Launch4j 就是其中之一

另一个选项可以是Jar2Exe

【讨论】:

  • Jar2Exe 不是免费的。我只有一个要分发的应用程序。 Launch4j 看起来很有希望,但不清楚如何管理我使用上述过程创建的 jar 文件和 jre 目录。有什么线索吗?
  • 您只需将您的可执行jar文件放入“Jar”并设置输出文件即可。然后,在 Header 部分确保选择了“GUI”。还有更多选项可供选择,但只有以上几个选项,您才能单击齿轮图标并获得生成的 EXE。
  • 不幸的是,它不能以这种方式工作。当我运行 exe 时:“此应用程序被配置为使用捆绑的 Java 运行时环境,但运行时丢失或损坏。”
  • 确保您没有使用捆绑的 JRE,您可以在 JRE 选项卡中进行检查。顺便说一句,我不能包含其他任何内容,仅仅因为答案是有效的,只是因为链接和页面存在,如果页面或程序不再存在,你不能认为这个答案是有效的,你需要寻找一个不同的程序。
猜你喜欢
  • 1970-01-01
  • 2020-06-19
  • 1970-01-01
  • 2023-04-07
  • 2020-01-05
  • 2021-02-25
  • 2019-04-10
  • 2019-10-05
  • 2018-11-22
相关资源
最近更新 更多