Javafxpackager:你如何设置"基础JDK"?

pfu*_*her 13 javafx-8

当我运行javafxpackager时,我收到以下警告/信息:

No base JDK. Package will use system JRE.
Run Code Online (Sandbox Code Playgroud)

部署JavaFX应用程序的文档中不清楚 如何指定替代JDK.它没有选择,我可以看到(也许我是盲目的).它是系统属性吗?

谢谢.

jew*_*sea 10

有一个旧的Oracle博客提到了这一点.不知道它是否仍适用于您的案件或与之相关:

自包含应用程序:选择要捆绑的Java运行时

7u6中的Packager工具假设当前的JDK(基于java.home属性)是嵌入式运行时的源.这对于许多场景来说是有用的简化,但是有些情况下能够明确指定嵌入的内容是很方便的.例如,IDE可能使用固定的JDK来构建项目,而这不是您要捆绑到应用程序中的版本.

为了使其更灵活,我们现在允许明确指定基本JDK的位置.它是可选的,如果您不指定它,那么将使用当前的JDK(即此更改完全向后兼容).

标签中添加了新的"basedir"属性.它的值是要使用的JDK的位置.可以指向JDK或JDK顶级文件夹中的JRE.但是,它必须是JDK而不是JRE,因为我们需要其他JDK工具才能正确打包,它必须是与JavaFX捆绑在一起的JDK的最新版本(即Java 7更新6或更高版本).

以下是示例(是任务的一部分):

<fx:platform basedir="${java.home}"/>      
<fx:platform basedir="c:\tools\jdk7"/> 
Run Code Online (Sandbox Code Playgroud)

提示:此功能使您可以使用JDK 7更新10中的打包工具(并从错误修复程序和下面描述的其他功能中受益)来创建具有捆绑的FCS版本的JRE 7更新6的应用程序包.


And*_*ski 6

使用参数运行时-Bruntime:

javapackager.exe -Bruntime="c:\Program Files\Java\jdk1.8.0_76\jre\" ...
Run Code Online (Sandbox Code Playgroud)

你得到以下信息:

在以下位置使用基本JDK:c:\ Program Files\Java\jdk1.8.0_76\jre


Jon*_*ott 5

如果它可以帮助任何人,我想使用javapackager捆绑32位Java 8 JRE.我遇到了问题,因为JDK是64位Java 8 JDK.我能够通过将JAVA_HOME设置为32位JRE来解决我的问题.