我正在尝试使用Java Web Start部署我的Java应用程序,但我遇到了一个问题。通过我的IDE(Netbeans)运行应用程序时,它快速闪电;一切都在几秒钟内完成但是如果它是用Web Start启动的话,那就太慢了。
任何想法为什么?
我在JNLP中使用完全权限自我签名。
答案 0 :(得分:2)
Java Web Start应用程序的启动速度总是比通过java
可执行文件直接启动更慢。这是因为Java Web Start的功能远远超过标准的java
启动:
我认为大部分成本是因为能够通过网络浏览器启动应用程序以及“免费”虚拟更新应用程序而增加的功能所带来的不可避免的成本。
另一种可能性:当您通过webstart启动时,与使用NetBeans启动时,您的应用程序是否使用不同的VM运行?你可以尝试打印:
System.getProperty("java.home")
找出正在运行当前正在执行的进程的VM。
如果它是同一个VM,您也可以在两个方案之间尝试区分 Java系统属性。尝试打印出所有系统属性:
System.getProperties().store(System.out, "");
Wireshark 可用于帮助诊断Java Web Start网络问题。
有时,Java Console和Java Web Start Logging可用于诊断某些JWS问题。您可以通过Java Control Panel:
启用这些功能
答案 1 :(得分:1)
您可以在Java控制台中启用完整日志记录,并查看Java Web Start正在打印调试信息的所有内容。然后,您可以看到停顿发生的位置,这可能会为您提供问题的指示。
我最初的猜测是你有DNS问题,特别是如果暂停非常接近30秒的倍数。