防止 Eclipse RCP 应用程序的多个实例

Prevent multiple instances of Eclipse RCP Application

我想制作一个只打开一次的 RCP 应用程序。

如果您再次打开它,它会聚焦(最好通过提供的参数)原来的 window。

我的用例涉及同一台计算机上的多个并发用户(具有自己的用户帐户),因此我认为打开端口的路由不会起作用。

我正在使用 RCP4 - 我在网上看到的很多现有内容都是 RCP3 或更早版本。

这里有一个图书馆:http://www.sauronsoftware.it/projects/junique/

JUnique 库可用于防止用户同时 运行 同一 Java 应用程序的多个实例。

此处使用示例:

public static void main(String[] args) {
    String appId = "myapplicationid";
    boolean alreadyRunning;
    try {
        JUnique.acquireLock(appId);
        alreadyRunning = false;
    } catch (AlreadyLockedException e) {
        alreadyRunning = true;
    }
    if (!alreadyRunning) {
        // Start sequence here
    }
}