無處不在,我讀,因爲Java 7u7的,JavaFX2是捆綁在一起的JRE和JDK。所以我很困惑,爲什麼當我運行Eclipse時,它告訴我「導入javafx無法解析」。安裝的Java 7u9和Eclipse(麥浚龍),但Eclipse不看JavaFX2
我沒有其他的JDK或JRE中安裝,但7u9,所以我爲什麼不能夠看到JavaFX2從Eclipse的?
非常感謝:)
無處不在,我讀,因爲Java 7u7的,JavaFX2是捆綁在一起的JRE和JDK。所以我很困惑,爲什麼當我運行Eclipse時,它告訴我「導入javafx無法解析」。安裝的Java 7u9和Eclipse(麥浚龍),但Eclipse不看JavaFX2
我沒有其他的JDK或JRE中安裝,但7u9,所以我爲什麼不能夠看到JavaFX2從Eclipse的?
非常感謝:)
不幸的是,jdk7u9,Eclipse不從jre\lib
目錄到項目構建路徑庫時,我們創建一個新的Java項目添加jfxrt.jar
文件。你必須做手工,或者你可以安裝插件e(fx)clipse到Eclipse,這將使你的JavaFX開發更容易:)
Eclipse是以下的JRE 7u9默認啓動類路徑的默認設置(這不包括jfxrt.jar
) 。未來的JRE版本將在引導類路徑上放置jfxrt.jar
,因此您不需要手動將jfxrt.jar
文件添加到項目構建路徑庫。您可以跟蹤這JRE feature。
添加jfxrt.jar
到項目的構建路徑將使Eclipse來找到它,並允許你開發和Eclipse中執行代碼。但是,在部署軟件時,除非將其放在類路徑中,否則將不再能夠找到jfxrt.jar
。這會變得很混亂,因爲你必須找到jdk
/jre
的位置並在裏面搜索jfxrt.jar
的位置。
從我的理解中,長期計劃是從lib
文件夾中的jre
移動jfxrt.jar
到lib/ext
文件夾。這會將它放置在默認情況下找到的地方,而不需要將東西添加到類路徑中。不幸的是,這在Java 8發佈之前不太可能發生!
同時,最簡單的解決方案似乎是使用捆綁的javafxpackager
工具創建您的jar文件,而不是jar
工具。還有一個基於ant
的解決方案,但我不熟悉它。打包器將創建您的jar文件,並插入一個啓動器類,該類可以找到jfxrt.jar,並在運行時將其動態添加到應用程序的類路徑中。它也會投訴,如果jre
或安裝javafx
太舊,並提示用戶下載更新的版本。然後它通過您在命令行中指定的類來調用您的應用程序。 (通常與您的main()
方法類)。
它同時適用於本地JavaFX應用程序和樸實的Swing應用程序。如果在jar文件的清單中有額外的東西,比如另一個ClassPath條目,那麼也可以在命令行中指定它,以包含在新的jar文件中。
太棒了!我們早就解決了最初的問題,但仍然存在如何有效打包的問題。你先生,是一個好人,而且很可能會讓我的隊伍分數很高的隊伍! :)乾杯! –
你確定你的項目構建路徑中有jfxrt.jar文件嗎? – invariant
你檢查了你的eclipse默認和項目jdk設置是使用新的java 7嗎? – Quinma
這樣做,不變! 我假設它已經集成到Java 7中,它會自動地看到它,畢竟這是存儲JAR的位置「C:\ Program Files \ Java \ jdk1.7.0_09 \ jre \ lib」 噢,謝謝:D –