2017-05-09 85 views
0

我的JavaFX Desktop程序仅在安装了JDK 1.8的情况下运行,不会与JRE 1.8一起运行。JavaFX仅与JDK一起运行

任何JavaFX应用程序应该与JRE一起运行? 如果否,我如何才能找到为什么需要JDK?

+0

你会得到什么错误? –

回答

1

这是因为JavaFX运行时未打包到JRE的某些分发中。据我所知,只有当JDK 9发布时,JavaFX才会在所有发行版中使用。到那时,安装JDK而不是JRE会更安全,或者当您将项目导出到JAR文件时,您可以包括jfxrt.jar

+1

JavaFX包含在Oracle JDK 8中,Oracle JDK 7是一个可选的安装程序。使用OpenJDK时只需安装OpenJFX就足够了。 JavaFX不需要JDK。 – FibreFoX

+0

@FibreFoX我的JRE(在我的电脑上)8u112没有'jfxrt.jar'。它仍然是基于分布的可选项。 – Jai

+0

你使用什么JRE? Windows还是Linux? – FibreFoX

0

根据Oracle的documentation,Java JDK SDK和Runtime(jfxrt.jar)包含在Java JDK中,从Java SE 7 Update 2开始。只要应用程序使用此版本或更高版本编译,它就应该运行JavaFX。

同样根据它们的site,JavaFX API与Jav​​a SE运行时环境(JRE)和Java开发工具包(JDK)完全集成。

,你应该在这两个JDK和JRE找到jfxrt.jar具体位置是:

附加信息可以可以在Oracle的各种JavaFX资源中找到,例如herehere - 尽管后者是为JavaFX 2创建的,因此可能不完全与最新版本兼容JavaFX版本。

+0

Oracle还[提及](http://www.oracle.com/technetwork/java/javase /jre-8-readme-2095710.html)'jre/lib/ext'中的所有内容都是可选的,供应商可以自行排除它们。 – Jai

+0

@Jai,但在这种情况下,我使用的是官方的JRE 1.8,所以都包含在内。 – Marckaraujo