如果远程调用,Swing 应用程序会在重新连接时挂起

Swing application hangs on reconnect if invoked remotely

我正在开发 swing 应用程序,如果用户将远程调用应用程序(应用程序安装在共享路径上并且用户试图从他的机器上调用应用程序),应用程序将停止响应,并且有 internet/LAN 下降.在控制台中,我收到以下错误:

Z:\application\jre1.7.0_55\lib\rt.jar: error reading zip file
Z:\application\jre1.7.0_55\lib\rt.jar: ZIP_Read: error reading zip file
Z:\application\jre1.7.0_55\lib\rt.jar: ZIP_Read: error reading zip file
Exception in thread "Timer-0" Z:\application\jre1.7.0_55\lib\rt.jar: error rea
ding zip file

Exception: java.lang.NoClassDefFoundError thrown from the UncaughtExceptionHandler in thread "Timer-0"

请告诉我这可能是什么问题?

嗯... 看来您不仅从共享驱动器 Z: 加载了应用程序,还从该驱动器加载了 java 运行时环境,更准确地说是从 Z:\application\jre1.7.0_55\.

因此,当您启动 Swing 应用程序时,您的计算机首先在 RAM 中加载 java.exe(速度很快,然后 java.exe 加载 rt.jar ...相当重(在我的机器上大约 49 Mb)。在下载操作期间,您的网络挂起。这会阻止 rt.jar 成为完整的 zip 并输出消息。

因此,为避免这种情况,我建议您使用本地 JDK:显然您的 swing 应用程序的 jar 仍应下载...但我认为它不是 49 Mb 的, 没有 ?