Java e4纯rcp应用程序:在第二次启动时将当前运行的e4应用程序放在前端?

Java e4纯rcp应用程序:在第二次启动时将当前运行的e4应用程序放在前端?,java,eclipse,eclipse-rcp,eclipse-luna,Java,Eclipse,Eclipse Rcp,Eclipse Luna,在“纯e4”rcp应用程序(v4.5.2)中,当用户第二次尝试启动应用程序时,会出现一个弹出窗口失败: “无法启动产品,因为另一个Eclipse应用程序当前正在使用关联的工作区” 有没有办法将焦点设置在当前运行的应用程序上,并将其置于桌面前部,而不是在弹出窗口中出现此错误? 在调用任何回调应用程序注释的方法(例如用@PostContextCreate注释的方法)之前,eclipse中的一些核心代码会进行检查,这很有意义。eclipse{.exe}启动器支持这一点,但仅在有限的用例中。正在运行的实

在“纯e4”rcp应用程序(v4.5.2)中,当用户第二次尝试启动应用程序时,会出现一个弹出窗口失败:
“无法启动产品,因为另一个Eclipse应用程序当前正在使用关联的工作区”
有没有办法将焦点设置在当前运行的应用程序上,并将其置于桌面前部,而不是在弹出窗口中出现此错误?

在调用任何回调应用程序注释的方法(例如用@PostContextCreate注释的方法)之前,eclipse中的一些核心代码会进行检查,这很有意义。

eclipse{.exe}启动器支持这一点,但仅在有限的用例中。正在运行的实例中打开文件

您可以更新/修改
eclipse.exe
以添加此类支持。试图重用Eclipse的源代码是git。相关观点是正确的:

/*尝试在已运行的eclipse中打开指定的文件*/
/*在Mac上,我们只在这里注册一个事件处理程序,请始终这样做*/
#ifndef MACOSX
if(filePath!=NULL&&filePath[0]!=NULL)
#恩迪夫
{
int超时=60;
如果(超时!=NULL)
_stscanf(timeoutString、\T\u ECLIPSE(“%d”)、&timeout);
如果(reuseWorkbench(文件路径,超时)>0)
返回0;
}

谢谢@Jonah的评论,但这种方式太复杂了,我无法更改和重新编译eclipse.exe。我更期待一个“java”解决方案