gpt4 book ai didi

eclipse-rcp - 重新启动独立 RCp 应用程序的问题

转载 作者:行者123 更新时间:2023-12-04 22:38:17 28 4
gpt4 key购买 nike

我在重新启动 RCP 应用程序时遇到问题。当我在 Eclipse 下运行时一切正常,但是当我创建独立应用程序方法时重启只需关闭应用程序。我使用下一个代码:
IWorkbench 工作台 = PlatformUI.getWorkbench();
工作台.重启();
有没有人知道如何解决这个问题。

谢谢

最佳答案

本帖 is interesting在这方面(它解释了为什么当 RCP 从 Eclipse 运行时它起作用,而不是在独立运行时)

If the workbench is restarted, e.g. via IWorkbench.restart(), that causes PlatformUI.createAndRunWorkbench(...) to return control to the application (the IPlatformRunnable implementation for the application extension) with a return code of PlatformUI.RETURN_RESTART (value is 1).

The application then must map this to an app return code of IPlatformRunnable.EXIT_RESTART (value is 23).

This then becomes the exit code of the Java VM (i.e System.exit(code)).
The eclipse.exe executable detects this special code, and relaunches the Java VM using the same command line arguments as the first time.

If you're not using eclipse.exe but are launching the java VM directly yourself, it won't restart automatically. You'll need to handle the exit code yourself.



因此,您的 RCP 中的类似代码需要由某种启动器管理,以便解释(并在需要时重新启动 rcp 应用程序)现有代码。
(有点像这个远程 RCP 管理 wiki page)
WorkbenchAdvisor workbenchAdvisor = new CoreAppWorkbenchAdvisor();
Display display = PlatformUI.createDisplay();
try {
int returnCode = PlatformUI.createAndRunWorkbench(display, workbenchAdvisor);
if (returnCode == PlatformUI.RETURN_RESTART)
return IPlatformRunnable.EXIT_RESTART;
else
return IPlatformRunnable.EXIT_OK;
}
finally {
display.dispose();
}
}

关于eclipse-rcp - 重新启动独立 RCp 应用程序的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1527839/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com