2

在 Java 8 中使用 Java Packager 时,可以选择不在生成的图像中包含运行时(例如,请参阅此问题)。

我正在尝试实现相同的目标(使用此处描述的 ant 任务)。但是我不知道如何在结果.app.exe文件中不包含 JVM。

<fx:deploy nativeBundles="image" ...>
    <fx:runtime anythingICanDoHere?>
    ...
</fx:deploy>

我问的原因:我正在使用该jlink实用程序创建自己的运行时,并希望替换与应用程序捆绑在一起的默认运行时。这工作得很好,但无论如何替换默认运行时,首先包含它是不必要的步骤。

旁注:该应用程序尚不兼容 JPMS,因此包含整个 JVM。

4

1 回答 1

0

javapackagerJDK 9 及更高版本提供的用于jlink生成 jre 映像:

对于自包含应用程序,JDK 9 的 Java Packager 使用由 jlink 工具生成的 JDK 9 运行时映像来打包应用程序。要将 JDK 8 或 JDK 7 JRE 与您的应用程序打包,请使用 JDK 8 Java Packager。

https://docs.oracle.com/javase/9​​/tools/javapackager.htm#JSWOR719

您甚至可以将参数传递给jlinkusing-BjlinkOptions=<options>

于 2018-05-30T22:21:30.403 回答