解决方案#1 – 启用Java控制台,并查找异常.
您可以通过Java控制面板完成.切换到“高级”选项卡,然后在Java控制台中确保选中“显示控制台”.
然后,运行您的应用程序并监视控制台以查找异常.修复异常.
解决方案#2 – 调试正在运行的应用程序(正确).
像这样启动Web Start应用程序(适用于Java 1.6及更高版本):
javaws -verbose -J-Xdebug -J-Xnoagent -J-Xrunjdwp:transport=dt_socket,server=n,suspend=y,address=8123 http://myserver.com/path/to/myapp.jnlp
如果使用早期的java版本(1.4.2,1.5)设置环境变量,如下所示:
set JAVAWS_VM_ARGS="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=n,suspend=y,address=8123"
并通过以下方式运行应用:
javaws http://myserver.com/path/to/myapp.jnlp
当应用运行时:
>附加调试器(Eclipse将执行 – 使用Run => Debug Configurations =>远程Java应用程序,并在“连接属性”面板中输入传递给javaws的参数的端口(在本例中为:8123).
>在windowClosing方法中设置断点.
>尝试关闭应用程序 – Eclipse应该破坏断点上的执行
>进入GameLoop.INSTANCE.stopLoop()方法,查看它挂起的位置/时间.
不要指望在控制台中看到解决方案,只需使用调试器逐步执行代码 – 如果应用程序挂起,它将显示在哪里.