2014-10-31 68 views
0

everyone!錯誤:在Netbeans之外運行JavaFX Appl

這裏的東西,我一直在發展與JDK 7u17一個JavaFX應用程序(這是一個NetBeans是compilling它,反正)我還沒有遇到任何問題,測試它,並通過自身的Netbeans運行它。我只需點擊Run即可順利進行。

我使用Netbeans通過Clean-Build創建.jar文件和其他(html,jnlp),並且當我執行Jar時,應用程序完全打開。

問題是,當我嘗試瀏覽應用程序時,該應用程序由4個場景(登錄,主要,搜索和創建)組成,能夠登錄並前往主場景,但僅此而已。進入搜索場景或創建場景的按鈕不會執行任何操作,也不會收到錯誤消息,說明某些內容會崩潰(請注意,由於我甚至不知道如何使其顯示在運行系統中,因此我沒有使用控制檯)。我只需點擊它們,它們什麼都不做。

正如我前面所說的,當它通過Netbeans運行時,應用程序運行完美。

一些更多的信息: Netbeans的版本:8.0 Compilling版本通過Netbeans的:1.7u17 系統上現有的Java版本:1.8u25,1.7u67和1.7u17(我已經嘗試僅啓用1.7u17)

的應用程序使用FXML在場景之間切換,它在LogIn和Main場景之間效果很好。

它可能會使用Netbeans並在Netbeans之外突破它有什麼用?

編輯#1: 根據控制檯(感謝@janih)我運行的Java版本1.7u17,一樣Netbeans和它看起來像它的正常工作。當我試圖通過單擊雙擊來運行相同的jar時,問題依然存在。它停止顯示我的控件(第三方控件)。

+0

嘗試使用命令行啓動您的應用程序:'java -jar yourapp.jar'。當您使用應用程序時,它可能會向控制檯打印一些堆棧跟蹤或錯誤。 – janih 2014-11-01 13:18:50

+0

@janih我很感謝您的回覆。我能夠稍微確定問題所在。在運行時,當嘗試從庫中的外部Jar訪問對象或類時,它會拋出NoSuchMethodError的異常。它拋出了像com.sun.javafx.css.StyleManager.getPseudoClassMask這樣的異常。我不知道該怎麼做...... – 2014-11-03 14:36:07

+0

您可能在NetBeans和您的系統(命令行)上運行不同的Java版本。也許在NetBeans上1.7(正如你所提到的)和1.8在命令行上。當你在命令行上運行'java -version'時它打印什麼?編輯PATH以包含合適的Java版本或直接運行Java 1.7/1.8可執行文件。 – janih 2014-11-03 14:46:17

回答

0

我不知道,但它可能是這樣的:

我試圖運行通過給定的.jar一個項目,有這些的結果,但是非常項目是一個純JavaFX項目,不完全的JavaFX FXML項目我的項目使用FXML文件在場景之間切換。我所做的是在FXML中重做項目並且完美地工作。

特別感謝@janih的幫助。