在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。
答案 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>