Java 获取插件的首选项存储

Java 获取插件的首选项存储,java,eclipse,eclipse-plugin,eclipse-rcp,Java,Eclipse,Eclipse Plugin,Eclipse Rcp,我有2个插件 Plugin A Plugin B 插件A依赖于插件B,插件A有首选项页面 在插件B中,我也希望有A的首选项存储 当我打电话时 IPreferenceStore store = Activator.getDefault().getPreferenceStore(); 从插件B获得A的存储,我得到循环检测,因为A依赖于B,B也依赖于A获得首选项存储 有什么方法可以获得插件B的首选项存储吗?您可以使用 IPreferenceStore prefs=new ScopedPrefer

我有2个插件

Plugin A 
Plugin B
插件A依赖于插件B,插件A有首选项页面

在插件B中,我也希望有A的首选项存储

当我打电话时

IPreferenceStore store = Activator.getDefault().getPreferenceStore();
从插件B获得A的存储,我得到循环检测,因为A依赖于B,B也依赖于A获得首选项存储

有什么方法可以获得插件B的首选项存储吗?

您可以使用

IPreferenceStore prefs=new ScopedPreferenceStore(InstanceScope.INSTANCE,“插件id”);

获取插件的首选项存储而不引用插件中的代码。

为什么首选项存储依赖于eclipse.ui类?这真是胡说八道!我正在尝试隔离我的插件依赖项,我必须包含所有eclise.ui才能访问插件的首选项存储?天哪…@marcolopes我不是Eclipse设计师,所以我不能回答这个问题。Eclipse中实际上有两个级别的首选项,在
org.Eclipse.core.runtime.preferences
中有一个较低级别,然后在
org.Eclipse.ui.preferences
中有一个较高级别。对于某些事情,可以只使用
org.eclipse.core.runtime.preferences
级别。谢谢!org.eclipse.core.runtime.Preferences完全不推荐使用,甚至不起作用…:\奇怪的是我必须扩展AbstractUIPlugin来访问IPreferenceStore…@Marclopes我想到了org.eclipse.core.runtime.preferences.InstanceScope和org.eclipse.core.runtime.preferences.IEclipsePreferencesOh我明白了!我调查了这些类,并为没有UI依赖关系的值实现了一个新的preferenceStore!谢谢!