防止在执行环境不满足时启动Eclipse产品

防止在执行环境不满足时启动Eclipse产品,eclipse,eclipse-plugin,Eclipse,Eclipse Plugin,我的插件的执行环境设置为Java7,如果我从Java6开始,Eclipse将以精简版本启动。我可以提醒用户他正在运行不受支持的JRE吗?在没有安装任何JRE的情况下启动Eclipse时,可能会出现类似的消息。我知道,产品发布说明,但是谁会读这些,对吗?你可以使用一个插件,它使用org.eclipse.ui.startup扩展点在eclipse启动的早期运行。该插件可以检查JRE是否符合您的要求,并显示一个错误对话框 显然,这个插件不会依赖于Java 7。我最终创建了一个插件,我们称之为start

我的插件的执行环境设置为Java7,如果我从Java6开始,Eclipse将以精简版本启动。我可以提醒用户他正在运行不受支持的JRE吗?在没有安装任何JRE的情况下启动Eclipse时,可能会出现类似的消息。我知道,产品发布说明,但是谁会读这些,对吗?

你可以使用一个插件,它使用
org.eclipse.ui.startup
扩展点在eclipse启动的早期运行。该插件可以检查JRE是否符合您的要求,并显示一个错误对话框


显然,这个插件不会依赖于Java 7。

我最终创建了一个插件,我们称之为startup,它的执行环境从1.2到1.6。然后在我的产品中,我将这个插件添加到配置中,开始级别为1。最后,在startup的Activator中,我有:

public void start(BundleContext context) throws Exception {
    super.start(context);
    if(!SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_7)){
        MessageDialog.openInformation(new Shell(), "Unsupported JRE", "Message to user");
        System.exit(0);
    }
    plugin = this;
}
是project中的一个实用程序类,我在这里使用它来检查JRE版本是否有效


所以这里的想法是,当这个插件在各种支持的JRE版本下执行时,它将检查所安装的JRE的有效性,并通知用户他们的JRE是否错误。

这是RCP还是标准Eclipse的插件?@greg-449 standard Eclipse带有构成该产品的插件/功能。我在其他领域使用此扩展时尝试了它。然而,earlyStartup()调用太晚了,正如JavaDoc所说:“将在工作台初始化后在单独的线程中调用。”我将在单独的回答中解释我的解决方案。谢谢你的帮助。