【发布时间】:2014-03-28 22:37:16
【问题描述】:
当我使用 .jar 文件运行我的应用程序时,会显示 GUI,并且 javaw.exe 会显示在任务管理器的系统进程中。但是,当我再次运行 .jar 文件而不关闭第一个文件时,会启动第二个 javaw.exe 进程并显示第二个 GUI。我该如何阻止这个?无论我运行 .jar 文件多少次,我都希望我的应用程序一次只有一个实例。
【问题讨论】:
当我使用 .jar 文件运行我的应用程序时,会显示 GUI,并且 javaw.exe 会显示在任务管理器的系统进程中。但是,当我再次运行 .jar 文件而不关闭第一个文件时,会启动第二个 javaw.exe 进程并显示第二个 GUI。我该如何阻止这个?无论我运行 .jar 文件多少次,我都希望我的应用程序一次只有一个实例。
【问题讨论】:
有几个解决方案here。
但请注意,如果您担心同一台机器上的其他设备可能正在使用同一端口,则需要修改套接字解决方案。
【讨论】:
一种简单的方法是在固定端口号上打开一个套接字。操作系统将强制只有一个进程可以执行此操作。
【讨论】:
在文件中注册一个值,可能是最简单的解决方案。
【讨论】: