2014-10-31 70 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的帮助。