添加额外的系统属性到 Eclipse 编程重启

发布于 2024-08-06 23:10:32 字数 223 浏览 6 评论 0原文

我有一个插件,可以使用以下命令强制重新启动 Eclipse:

Workbench.getInstance().restart();

但是,我需要重新启动以包含新的环境变量:

eclipse.refreshBundles=true

有没有办法仅在下次重新启动 Eclipse 时添加这样的环境变量?

I have a plugin that forces a restart of Eclipse by using:

Workbench.getInstance().restart();

However, I need this restart to include a new environment variable:

eclipse.refreshBundles=true

Is there any way to add such an environment variable for this next restart of Eclipse only?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不奢求什么 2024-08-13 23:10:32

Eclipse 有 2 种重新启动模式:使用先前的命令行“重新启动”,或使用新命令行“重新启动”。启动器本身会记住之前的命令行,因此为了添加新的系统属性,您需要重新启动。

重新启动/重新启动是 IApplication API 的一部分,如果您设置系统属性 eclipse.exitcode=24,Workbench.restart() 将导致 IDEApplication 返回重新启动。

要重新启动,您需要将新命令行放入 eclipse.exitdata 系统属性中。您需要使用 eclipse.commandseclipse.vmargs 系统属性重建命令行,并添加 -Declipse.refreshBundles=true vm 参数。有关此示例,请查看 org.eclipse.ui.ide 中的 OpenWorkspaceAction,它使用重新启动来切换工作区。

请注意,在重新启动的 eclipse 中,eclipse.refreshBundles 将成为命令行的一部分,并且将保留在那里以供进一步重新启动,除非您修改系统属性。如果你完全退出并重新开始,它就会消失。

Eclipse has 2 modes for restarting: "restart" using the previous command line, or "relaunch" using a new command line. The launcher itself will remember the previous command line, so in order to add a new system property, you will need to do the relaunch.

The restart/relaunch is part of the IApplication API, the Workbench.restart() will cause the IDEApplication to return relaunch if you set the system property eclipse.exitcode=24.

For the relaunch, you need to put the new command line in the eclipse.exitdata system property. You will need to reconstruct the command line using the eclipse.commands and eclipse.vmargs system properties, and add a -Declipse.refreshBundles=true vm argument. For an example of this, take a look at OpenWorkspaceAction in org.eclipse.ui.ide which uses the relaunch to switch workspaces.

Note that in the restarted eclipse, the eclipse.refreshBundles will be part of the command line, and will remain there for further restarts unless you modify the system properties. It will be gone if you exit fully and start again.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文