我有一个插件,可以使用以下命令强制重新启动 Eclipse:
Workbench.getInstance().restart();
但是,我需要重新启动以包含新的环境变量:
eclipse.refreshBundles=true
有没有办法只为下次重新启动 Eclipse 添加这样的环境变量?
最佳答案
Eclipse 有 2 种重新启动模式:使用先前的命令行“重新启动”,或使用新命令行“重新启动”。启动器本身会记住之前的命令行,因此为了添加新的系统属性,您需要重新启动。
重新启动/重新启动是 IApplication API 的一部分,如果您设置系统属性 eclipse.exitcode=24
,Workbench.restart() 将导致 IDEApplication 返回重新启动。
要重新启动,您需要将新命令行放入 eclipse.exitdata
系统属性中。您需要使用 eclipse.commands
和 eclipse.vmargs
系统属性重建命令行,并添加 -Declipse.refreshBundles=true
vm 参数。有关此示例,请查看 org.eclipse.ui.ide 中的 OpenWorkspaceAction
,它使用重新启动来切换工作区。
请注意,在重新启动的 eclipse 中,eclipse.refreshBundles 将成为命令行的一部分,并且将保留在那里以供进一步重新启动,除非您修改系统属性。如果您完全退出并重新开始,它就会消失。
关于eclipse - 添加额外的系统属性到 Eclipse 编程重启,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1539601/