2009-08-23 5 views
1

プラグインが共通している場合は、プラグインAとBを別々のプラグイン/製品として使用します。どちらも共通のプラグインに依存します。下位プラグインで外部化されたplugin.xml文字列を使用できますか?

共通のプラグインでは、plugin.xmlの文字列を外部化しています。これは%bundle-vendor = "My Company Name"というものです。

ダウンストリームのプラグインAおよびBでは、ベンダの共通のバンドルベンダプロパティを使用できますか。私は一般的なプラグインのIDをprependingしようとしましたが、うまくいきませんでした。これは可能でしょうか?

答えて

0

plugin.propertiesは、プラグインの外では使用できません。ただし、プロパティー・タイプを定義して(org.eclipse.osgi.util.NLSを拡張する)、プロパティー・ファイルを自動的にロードして他のプラグインに公開することができます。

タイプ内の各静的Stringプロパティは、NLSルールに従ってプロパティファイルから処理され、利用可能になります。ここで

は、プロパティファイルをロードし、クラスがロードされるときに静的変数に some_propertysome_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); 
    } 
} 
0

偉大な回答リッチ。私が追加する唯一のことは、バンドルマニフェストにパッケージ/クラスを公開して、他のバンドルがアクセスできるようにすることです。

関連する問題