繁体   English   中英

带有参数传递的 Java 桌面应用程序的单个实例

[英]Single instance of a Java desktop application with argument passing

我希望一次只运行一个 Java Swing 应用程序实例。 如果打开了第二个实例,我希望它将其参数传递给已经运行的实例。 我怎样才能使用一个漂亮、干净的 Java API 来做到这一点? (我不希望自己使用套接字或文件系统锁来实现它)。

我已经看到了许多用于在 Java 中强制执行单个实例的解决方案,但我所知道的唯一一个将参数传递给正在运行的实例的解决方案使用 JNLP 的SingleInstanceService ,而且我没有编写 Java Web 启动应用程序,所以我可以' t 使用它(当我尝试时,我得到了一个 NullPointerException)。

您可以使用 launch4j 在许多其他事情中做到这一点:

http://launch4j.sourceforge.net/

为此,我编写了一个名为Unique4j的Java库。 您可以在https://github.com/prat-m​​an/unique4j上看到它。 该库在Maven Central上也可用,以方便访问和集成。

请参阅我的完整答案, 网址https://stackoverflow.com/a/58903886/1215488

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM