【问题标题】:Access resource bundle from different plugin从不同的插件访问资源包
【发布时间】:2015-10-14 11:29:25
【问题描述】:

我有两个插件:

com.example.a
com.example.b

com.example.a 包含我想从com.example.b 访问的plugin.properties。 当我在插件com.example.b 中调用以下内容时,我得到一个MissingResourceException

ResourceBundle resourceBundle = ResourceBundle.getBundle( "com.example.a",
                                                                Locale.getDefault() );
resourceBundle.getString( key );

这显然是错误的,但我希望你明白这一点。

如何从另一个插件访问属性文件的本地化字符串?

【问题讨论】:

  • 嗨,您能否在 MissingResourceException 之后发布完整的堆栈跟踪

标签: java eclipse osgi


【解决方案1】:

此代码将加载 plugin.properties 或在 'Bundle-Localization' MANIFEST.MF 标头中为插件指定的任何内容:

Bundle bundle = Platform.getBundle("com.example.a");
BundleContext bundleContext = bundle.getBundleContext();
ServiceReference<BundleLocalization> ref = bundleContext.getServiceReference(BundleLocalization.class);
BundleLocalization bundleLoc = bundleContext.getService(ref);
ResourceBundle resourceBundle = bundleLoc.getLocalization(bundle, Locale.getDefault().toString());

【讨论】:

    猜你喜欢
    • 2017-01-18
    • 1970-01-01
    • 1970-01-01
    • 2017-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多