JDK9 Packager:无需运行时创建映像

时间:2018-03-14 10:51:50

标签: java javafx java-9 jlink javapackager

在Java 8中使用Java Packager时,可以选择在结果图像中包含运行时(参见例如this question)。

我正在尝试实现相同的目标(使用ant任务described over here)。但是,我不知道如何在生成的.app.exe文件中包含JVM。

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

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

附注:该应用程序尚未与JPMS兼容,因此包含了整个JVM。

1 个答案:

答案 0 :(得分:0)

JDK 9及更高版本提供的javapackager使用jlink生成jre图像:

  

对于自包含的应用程序,Java Packager for JDK 9包   具有jlink工具生成的JDK 9运行时映像的应用程序。至   使用您的应用程序打包JDK 8或JDK 7 JRE,使用JDK 8 Java   打包。

     

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

您甚至可以使用jlink

将参数传递给-BjlinkOptions=<options>