如果我有插件常见,插件A和B作为单独的插件/产品,两者都取决于普通的插件。
在插件常见中,我将plugin.xml中的字符串外部化,这给了我%bundle-vendor =“我的公司名称”。
在下游插件A和B中,我可以为供应商使用通用的bundle-vendor属性。我试过预先添加常见的插件ID,但它没有用。这可能吗?
答案 0 :(得分:0)
据我所知,plugin.properties在插件外部不可用。但是,您可以定义属性类型(扩展org.eclipse.osgi.util.NLS)以自动加载属性文件并将它们公开给其他插件。
该类型中的每个静态String属性都将根据NLS规则从属性文件中处理并可用。
这是一个简单的示例,它将加载属性文件并在加载类时填充静态变量 some_property 和 some_other_property 。
public class ContentMessages extends NLS {
private static final String BUNDLE_NAME =
"name.seller.rich.content.messages"; //$NON-NLS-1$
public static String some_property;
public static String some_other_property;
static {
// load message values from bundle file
reloadMessages();
}
public static void reloadMessages() {
NLS.initializeMessages(BUNDLE_NAME, ContentMessages.class);
}
}
答案 1 :(得分:0)
很棒的回答Rich。我要添加的唯一内容是确保在bundle清单中公开package / class以确保其他bundle可以访问它。