2017-05-09 43 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