通过JNLP启动JavaFx 2.0应用程序会引发异常

时间:2012-01-01 18:19:18

标签: java deployment javafx jnlp

如何通过WebStart启动JavaFx 2.0应用程序?

我使用NetBeans(版本7.1 RC1)来实现JavaFx 2.0应用程序,通过单击jar文件可以启动它。现在我想通过WebStart启动它。在这个论坛和其他描述中,我发现了几个使用NetBeans来完成此任务的提示,因为NetBeans创建了所有必需的文件。

事实上,NetBeans在项目dist文件夹中创建了一个JNLP HTML文件和一个HTML文件,引用了这个JNLP。我可以在浏览器中加载HTML文件;它显示标题行和启动按钮。单击“启动”按钮将调用预期的对话框“Open launch.jnlp”,但单击“确定”会出现异常对话框,显示:

java.lang.RuntimeException: Application launch error
   at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:104)
   at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ExceptionInInitializerError
   at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:140)
   at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:27)
   at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:97)
...

我是否需要NetBeans项目属性中的某些设置?或者我需要签署jar文件或jnlp文件?我也试过了,但也发生了同样的异常。

目前我还没有包含该应用程序的网站;我假设第一次测试我可以调用我自己的硬盘上的jnlp文件,是吗?

异常的原因是什么?我需要做些什么才能使WebStart正常工作?

1 个答案:

答案 0 :(得分:0)

看起来你的javafx运行时版本与sdk版本不同。尝试卸载JavaFX运行时(从控制面板 - >卸载程序)并使用exe文件在JavaFX SDK文件夹中安装(或从javafx.com下载)

P.S。:您不必使用jnlp或浏览器插件部署任何内容来运行常规javafx程序。