2017-03-12 42 views
1

我想編寫我的第一個JavaFX 8應用程序(使用e(fx)clipse等進行我的第一個實驗),並對平臺獨立性有一些擔憂。如何確保JavaFX安裝(特別是在Ubuntu上)?

JavaFX 8是Oracle JRE的一部分,它是Windows上使用最多的JRE。因此,我並不在這裏,因爲JavaFX將被安裝在幾乎所有運行Java 8的Windows計算機上。

但是在Ubuntu和其他* nix上,OpenJDK經常用作Java分發。由於openjfxopen-jdk-8-*分離,因此許多默認情況下不會安裝JavaFX。

我想到:

  • 編寫安裝腳本調用sudo apt-get install openjfx(我想避免的,因爲我想可執行的.jar是自身可運行的,沒有腳本)
  • 航運JavaFX的分佈(即,它的.jar文件),與我的應用程序(但我看這不應該做的)

兩個想法似乎並不非常有前途......

因爲我希望有一些JavaFX專業人員在那裏,所以我希望有人能夠幫助我「確保我的JavaFX應用程序在Windows和Ubuntu上運行良好的最佳可能性是什麼?」關於如何解決這個問題的最新技術是什麼?

+1

另請考慮[tag:java-web-start]。 – trashgod

+0

@trashgod感謝您的提示,我會看看它! –

+2

JDK還附帶了用於構建「自包含應用程序包」的工具,該工具實質上將JDK,JavaFX和您的應用程序捆綁到本機可安裝應用程序中。 [部署指南](http://docs.oracle.com/javase/8/docs/technotes/guides/deploy/)詳細介紹瞭如何執行此操作。 –

回答

1

這個頁面(http://www.sj-vs.net/creating-a-simple-debian-deb-package-based-on-a-directory-structure/)很好地描述瞭如何基於任何目錄結構(例如,預編譯的東西)構建一個簡單的.deb包。 您可以將您的依賴項(例如,javafx包)添加到control文件的Depends部分。 (https://www.debian.org/doc/debian-policy/ch-relationships.html)。這會強制任何安裝程序(如aptdpkg)將javafx與您的軟件包一起安裝,並使其失敗(如果此軟件包不可用)。您還可以添加一個postinst腳本,該腳本將在安裝後執行,您可以根據需要設置類路徑等。