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

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

实际上,NetBeans在项目dist文件夹中都创建了一个JNLP HTML文件和一个引用此JNLP的HTML文件。我可以在浏览器中加载HTML文件。它显示了标题行和启动按钮。单击“启动”按钮将调用预期的对话框“打开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正常工作,我该怎么做?

最佳答案

看来您的Javafx运行时版本不同于sdk版本。尝试卸载JavaFX运行时(从“控制面板”->“卸载程序”),并使用exe文件在JavaFX SDK文件夹中进行安装(或从javafx.com下载其中一个)

附注:使用jnlp或浏览器插件,您无需部署任何程序即可运行常规javafx程序。

07-24 12:33
查看更多