2
目標是創建一個獨立的Play Framework(2.2)應用程序,其中打開一個包含一些javafx(javafx-8)元素的附加狀態窗口。在sbt中添加JavaFX(使用播放框架)
由於JavaFX類現在在Oracle Java 8實現的默認運行時類路徑中,在我的類中使用javafx。*,並且使用sbt編譯應該沒問題。
但是SBT執行
..\path-to-play-framework-2.2\play project run
的最佳方式時來解決這個問題不能找到這些類和與
play.api.UnexpectedException: Unexpected exception[NoClassDefFoundError: javafx/application/Application]
退出似乎是build.sbt的項目修改目錄。我能做些什麼來添加缺少的(類)路徑?
我建議將JDK8的路徑更改爲jfxrt.jar。它在/ jre/lib/ext中可用。是否還有一種方法可以避免設置JAVA_HOME env? – Vincent
對不起,我沒有注意到你在使用JDK8。無論如何,這個概念應該是一樣的,你需要找到你的jfxrt.jar。 JAVA_HOME env不是強制性的,但它可能是在系統上獲取jre路徑的最常用方法。您可以嘗試其他方法(例如,將jfxrt.jar文件複製到項目的適當文件夾中,通過配置提供jre路徑或嘗試以某種方式檢測它等),重要的是sbt知道此jar在哪裏並且運行命令分叉(因爲它不會看到你對類路徑所做的更改)。 –
儘管我不得不修改此代碼並添加了一個後備以防發現JDK/JRE,但我會將其標記爲答案,因爲它給了我正確的方向。 – Vincent