3

編集:
私がやりたいのは、プログラムでRclipse-RCP3.7アプリケーションの設定メニューに設定ページを追加することです。残念ながら、この投稿で説明されているように、これはプログラムでは機能しないよう です。

解決策として、設定を維持する特別なプラグインを作成することを考えています。このプラグインは、plugin.xmlですべての設定ページを宣言し、それ自体をアンインストール/インストールして、設定メニューの変更を適用する必要があります。

質問:

する可能性はありますか

  1. プラグイン自体のplugin.xmlをプログラムで変更しますか?
  2. プラグインをプログラムで更新して、plugin.xmlから新しい設定を再ロードする可能性はありますか?
4

1 に答える 1

3

何をしているのかではなく、解決しようとしている問題を理解しておくと役に立ちます。

一般的に、あなたがやりたいことをする簡単な方法はありません。

OSGiを使用してバンドルをアンインストールおよび再インストールすることにより、plugin.xmlを強制的に再ロードできます。を参照してくださいorg.osgi.framework.Bundle.uninstall()。ただし、plugin.xmlによって提供される拡張機能によっては、拡張ポイントのコンシューマーが動的に認識されるように作成されているわけではありません。

RCPアプリのもう1つのオプションは、を使用して拡張機能を提供することorg.eclipse.core.runtime.IExtensionRegistry.addContribution(InputStream, IContributor, boolean, String, ResourceBundle, Object)です。これは動的な追加に最適であり、拡張機能の削除の信頼性は低く、同じ警告が適用されます(動的な認識が拡張機能ポイントの利用者である方法)。ユーザートークンをnullに設定することで、RCPアプリで使用します。

于 2012-06-22T13:26:36.027 に答える