2014-02-10 148 views
6

我有一個據稱不可能的問題,所以我有一段時間找到答案。Linux中JDK 1.7/1.8缺少JavaFX?

我有最新版本的NetBeans 7.4,運行在完全更新的Fedora 20 x64上。正式的,這可以與JavaFX協同工作。期。我有回購(1.7)的JDK和我能找到的最新版本(1.8.0)。官方,這些JavaFX與他們。期。

如果我嘗試創建一個新的JavaFX項目,它有這樣一段話:

無法自動建立一個JavaFX平臺。 請轉到Platform Manager,創建一個非默認的Java SE平臺,然後轉到JavaFX選項卡 啓用JavaFX並填寫有效的JavaFX SDK和JavaFX Runtime的路徑。 注意:JavaFX SDK可以從JavaFX網站下載。

好吧,我習慣了困惑的事情,我想我可以解決這個問題。去創建一個新平臺,並且...沒有「JavaFX」選項卡。花了一些研究甚至找出它在說什麼,在這個過程中,我發現這個標籤實際上是從7.4中刪除的。因爲NetBeans 7.4絕對會自動識別JavaFX。期。

正如預期的那樣,轉到實際的JavaFX站點告訴我,它已與我已擁有的Java SE 7 JDK捆綁在一起。期。

由於我之後的最終結果在技術上可以通過將一個JavaFX組件集成到我的Swing應用程序中實現,所以我試圖這樣做,但NetBeans仍然找不到與JavaFX相關的任何內容,因此如果我嘗試導入這樣的事情。

因此,考慮到那些本該只是簡單的事情,只是簡單的事情......我可以從哪裏去?

+0

你有搜索的[NetBeans的問題跟蹤](HTTPS:/ /netbeans.org/community/issues.html),還是在那裏提交錯誤報告? – haraldK

+2

您使用的是Oracle JDK嗎? – Ben

+0

@Ben ... Sunovab!#@ h,我想我在技術上不是! Repos擁有OpenJDK,直到現在我從未發現兩者之間存在差異。 – DigitalMan

回答

1

顯然,這個問題確實是開源的OpenJDK之間的差異由大多數Linux發行版提供,以及專有的Oracle JDK。具有諷刺意味的是,這是一個衆所周知的問題,但你必須專門搜索它才能找到它,到那時你已經知道了。

解決方案是下載官方Oracle JDK,並在必要時在NetBeans中創建匹配平臺(此時位於/usr/java/jdk...下)。之後它應該工作得很好。

在Debian和Ubuntu(可能其他人)
+0

這個差異更多的是OpenJDK的一個被誤解的特性,那就是:JFX已經成爲一個獨立的包,在OralceJDK中它是一個大球。除此之外沒有任何區別,請參閱我的答案以獲取更多信息。 – Quaternion

6

目前JavaFX是從在OpenJDK(OpenJDK的-8-JDK)單獨封裝,所以需要安裝:

sudo apt-get install libopenjfx-java libopenjfx-java-doc 

值得注意的問題(這個問題呢影響Maven的,JavaFX應用程序,所以如果是那麼你偏愛的構建方法忽略了以下問題):

如果試圖創建一個新項目: 分類>的JavaFX 項目> JavaFXAppli陽離子

您將獲得:

Internal error. Missing resources [/resources/web-files/javafx-loading-100x100.gif] 
/home/ken/NetBeansProjects/vestFxReports/nbproject/jfx-impl.xml:1465: The following error occurred while executing this line: 
/home/ken/NetBeansProjects/vestFxReports/nbproject/jfx-impl.xml:3093: The following error occurred while executing this line: 
/home/ken/NetBeansProjects/vestFxReports/nbproject/jfx-impl.xml:2055: Error: -includedt requires the java deployment toolkit, which is not included in this distribution 
BUILD FAILED (total time: 1 second) 

要解決上述錯誤[以下步驟從這裏衍生:http://hongouru.blogspot.com.uy/2015/09/solved-error-building-new-project-using.html]

  1. 切換到文件標籤(通常你在項目選項卡)。
  2. 展開項目的節點> 展開nbproject節點>打開「project.properties」文件。
  3. 找到線javafx.deploy.includeDT=true並更改true to false

現在您可以在OpenJDK上創建並運行JavaFX應用程序。


下一步措施,雖然超越眼前的問題,你可能會在某個時候要下載的JavaFX的場景生成器:http://www.oracle.com/technetwork/java/javafxscenebuilder-1x-archive-2199384.html