相关疑难解决方法(0)

如何允许一次只运行一个Java程序实例?

我需要阻止用户多次启动我的Java应用程序(WebStart Swing应用程序).因此,如果应用程序已在运行,则无法再次启动它或显示警告/再次关闭.

有没有一些方便的方法来实现这一目标?我想过阻塞一个端口或写一个文件.但希望您可以访问某些系统属性或JVM?

顺便说一句.目标平台是带有Java 1.5的Windows XP

java jnlp java-web-start

27
推荐指数
2
解决办法
2万
查看次数

如何确保只能执行一个java程序实例?

需要在某个时间只能执行一个JAVA程序实例.我在不同的早期帖子中观察到了堆栈溢出中提出的大量解决方案.

解决方案基于:

  • 通过打开套接字:打开套接字连接.
  • 基于文件锁定:创建临时文件并保持锁定.并在JVM关闭时添加一个关闭钩子来解锁该文件.

我不想使用端口锁定,因为它可能导致端口使用可能发生冲突.

所以我在考虑使用文件锁定.在搜索了一下后,我发现基于端口锁定的机制的支持者提到,如果应用程序崩溃和其他IO错误,文件锁定可能是不可靠的.

我需要的是找到一个在跨平台和多个JDK中一致工作的解决方案.我的平台是Windows和Linux,JDK是Sun和IBM JDK.

任何人都可以对此有所了解吗?

java

13
推荐指数
2
解决办法
1万
查看次数

如何确保只运行Java应用程序的单个实例?

我希望我的应用程序检查其自身的另一个版本是否已经运行.

例如,已demo.jar启动,用户单击以再次运行它,但第二个实例意识到"哦等待,已经有demo.jar运行".然后退出并留言.

java mutex

9
推荐指数
3
解决办法
1万
查看次数

检查单实例java程序

我有一个Java程序(带有一个swing gui),我想只有一个实例存在.如果它试图打开程序的另一个实例,我希望将当前实例带到前台.

我该怎么做呢?

提前致谢.

java swing

8
推荐指数
1
解决办法
3666
查看次数

如何在Java中创建一个跨进程的Singleton类

是否可以创建一个通用的Singleton类,在任何给定的时间,只有一个实例在多个Java进程之间共享?

java

7
推荐指数
1
解决办法
4524
查看次数

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

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

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

java desktop-application single-instance

6
推荐指数
1
解决办法
1728
查看次数

Eclipse只能运行一个项目的单个实例吗?

我经常为iOS和Android开发移动应用程序,我习惯于反复启动项目,而不会询问是否有其他实例正在运行,因为模拟器会为我处理这个问题.

当我使用Eclipse开发桌面应用程序时,我遇到了这个问题,因为多次运行同一个项目会导致多个不同的实例.我希望Eclipse能够在运行新进程之前杀死先前打开的进程.我发现了这个问题,但是这个问题解决了让Java应用程序的单个实例运行的问题,但这不是重点.我不在乎最终版本是运行一两次,我只是希望能够在开发时运行单个实例,无缝地像Xcode或Eclipse for Android那样.此外,该解决方案将在两次运行同一项目时弹出警报,但这对我来说不是解决方案.杀死并运行它.

是否可以在不更改源代码的情况下更改项目的运行配置以实现此目的,还是可以通过插件或whatelse实现?我想找到一个完全自动化的解决方案,可以让我像在Xcode下一样工作.

java eclipse

5
推荐指数
1
解决办法
1618
查看次数

运行java应用程序的一个实例

可能重复:
如何实现单实例Java应用程序?

有没有办法只运行一个Java应用程序实例,所以只有一个进程?.是不是可以在java中做到这一点?

java single-instance

1
推荐指数
1
解决办法
3737
查看次数