2014-03-13 101 views
0

我有小的Java 桌面沒有任何GUI的應用程序。我使用Ant來開發,運行,構建和發佈它。我沒有爲它創建一個jar文件。我使用.sh文件來啓動/運行該版本中的附帶的JRE爲什麼使用JavaFX時,Java桌面應用程序需要特別部署?

現在我在其上添加了一個簡單的圖形用戶界面。我仍然可以用Ant開發,運行,構建和發佈。對於JavaFX,在Ant文件中沒有特別的目標或添加。發佈後,我無法再使用現有的.sh文件運行它。我得到了以下錯誤:在線程「主要」 java.lang.NoClassDefFoundError

例外:JavaFX的/應用/應用

如果我更改爲不的JavaFX參與啓動另一個切入點。 sh文件,它的工作原理。

我很確定,如果我使用Swing,它將以正確的方式工作。爲什麼JavaFX是特別的?我是否必須使用Antjavafxpackager做特殊部署?任何簡單的方法來解決此問題?它只是一個桌面應用程序。

我使用jdk/jre 1.7.0_51和linux。

我是JavaFX的新手。不知道是否值得去學習它。

+0

[手動編譯javafx 2.0]的可能重複(http://stackoverflow.com/questions/9436219/compile-javafx-2-0-manually) – jewelsea

回答

3

當你使用的是Java 7或以上,那麼JavaFX運行jar文件是不是在默認情況下classpath中。您需要將其包含在類路徑中。

將jar jfxrt.jar添加到類路徑中;您可以在Java安裝的jre\lib目錄中找到它。

這將改變爲Java 8;在那裏,JavaFX默認會在類路徑中,您不需要自己將jar添加到類路徑中。

相關問題