java - Eclipse RCP - 以编程方式更改 plugin.xml?重新加载?

标签 java eclipse-plugin eclipse-rcp reload

编辑:
我想要做的是以编程方式将首选项页面添加到 Rclipse-RCP 3.7 应用程序中的首选项菜单。 不幸的是,正如所描述的那样,这似乎无法以编程方式工作 in this post .

作为一种解决方案,我考虑创建一个特殊的插件来维护首选项。此插件应在其 plugin.xml 中声明所有首选项页面,并自行卸载/安装以应用首选项菜单中的更改。

问题:

有没有可能

  1. 以编程方式更改插件自己的 plugin.xml?
  2. 是否有可能以编程方式更新插件,从 plugin.xml 重新加载新设置?

最佳答案

了解您要解决的问题而不是您正在做的事情会很有帮助。

一般来说,没有简单的方法可以做您想做的事。

您可以通过使用 OSGi 卸载并重新安装您的包来强制重新加载您的 plugin.xml。请参阅 org.osgi.framework.Bundle.uninstall()。但是根据 plugin.xml 提供的扩展,不是扩展点消费者被编写为动态感知。

RCP 应用程序的另一个选项是使用 org.eclipse.core.runtime.IExtensionRegistry.addContribution(InputStream, IContributor, boolean, String, ResourceBundle, Object) 贡献扩展。这对于动态添加非常有用,对于删除扩展不太可靠,并且适用相同的警告(扩展点的消费者如何动态感知)。您可以通过将用户 token 设置为空来在 RCP 应用程序中使用它。

关于java - Eclipse RCP - 以编程方式更改 plugin.xml?重新加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11141772/

相关文章:

java - 最小的回文数大于 N

java - Imageview 不在 Activity 中显示来自相机的图像

java - 如何从反编译的apk中获取JNI文件

eclipse - 在Mac上设置DERBY_HOME环境变量?

java - 使用 CSS 在 SWT CCombo 上设置按钮图标

eclipse - 插件产品 VS 功能产品

java - java中集合中元素的顺序

java - 如何将 Eclipse View 插件添加到特定的预先存在的 JDT View 类别?

view - 如何向 Eclipse RCP 中的窗口菜单添加 View ?

tdd - 如何使用 Equinox/OSGi - Tycho - Eclipse RCP 环境遵循测试优先方法