如何在不包含JVM运行时的情况下将JavaFX应用程序部署为本机安装程序?

时间:2016-03-08 17:47:12

标签: maven javafx installer exe native

我正在使用maven和javafx-maven-plugin将我的JavaFX打包为使用InnoSetup 5的Windows安装程序,这一切都运行良好。我遇到的问题是jre包含在安装程序中,而不是使用系统jre。这使得我的小应用程序的安装程序变得很大,并且由于我的目标组在其系统上安装了jre或jdk,因此也没有必要。如何告诉插件不包含JVM并指向系统JVM?

2 个答案:

答案 0 :(得分:0)

在这个问题中 - Javafxpackager: how do you set the "base JDK"?有关于JRE配置的答案。

因此,如果您设置<fx:platform basedir=""/>,则不会将JRE包含在您的包中(请参阅this document for details)。

答案 1 :(得分:0)

以下是javafx-maven-plugin GitHub问题的答案:https://github.com/javafx-maven-plugin/javafx-maven-plugin/issues/293#issuecomment-303016297

如果要从捆绑包中删除JRE,只需将其添加到插件配置中:

<bundleArguments>
    <runtime />
<bundleArguments>

JRE的位置包含在生成的.cfg文件(jfx/native/...../app)中。如果有runtime=(空),则将使用本地安装的JRE(您必须在Linux系统上设置JRE_HOME

添加runtime=bundleArguments似乎设置为空,不知道为什么它对Tony不起作用。