我希望我的程序(一个 Java 可执行文件 .jar)仅运行一次。我制作了一个程序,但现在我希望用户不能打开多个实例......感谢您的时间......
我检查了服务器/客户端解决方案和锁定文件,但我不太了解它们,我也尝试让它们在 NetBeans 中运行,但没有成功...
最佳答案
您可以使用套接字 - ServerSocket 只能监听尚未使用的端口。第一次启动成功在该端口上创建了一个 ServerSocket 实例 - 当该程序运行时,无法在该端口上成功创建其他 ServerSocket。
import java.io.IOException;
import java.net.ServerSocket;
public class OneInstance {
private static ServerSocket SERVER_SOCKET;
public static void main(String[] args) {
try {
SERVER_SOCKET = new ServerSocket(1334);
System.out.println("OK to continue running.");
System.out.println("Press any key to exit.");
System.in.read();
} catch (IOException x) {
System.out.println("Another instance already running... exit.");
}
}
}
关于java - 如何确保我的程序只能执行一个实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1482474/