我编写了一个服务器-客户端程序,它将字符串从客户端发送到服务器。我使用这些字符串在屏幕上移动鼠标。
我的问题在于当程序打包到 jar 文件中时连接到 ServerSocket。
如果我:
1) 直接从 NetBeans 运行代码。
或
2) 使用 java -jar jarname.jar 执行 jar
。如果我通过双击它来执行 jar,它将不起作用。我为这个程序显示了一个GUI窗口,虽然会出现,所以我知道该程序正在执行。但是,当我尝试以完全相同的方式连接到ServerSocket时,没有任何反应。也不会引发任何异常。
我几个月前写了这个程序,如果我通过双击它来运行 jar,它曾经可以工作。我的罐子没有任何变化。这让我相信 java 的更新导致了这个问题。
如果可能的话,我想知道是否有一种解决方法不涉及在我的计算机上降级 Java,因为我想稍后将此程序分发给用户。
它可能没有执行,或者可能在 GUI 打开之前中断。如果由于java版本而发生冲突,我建议您为jar生成和可执行文件(exe)并使用相同的。您可以使用任何开源软件,例如Launch4J