2010年12月21日火曜日

Eclipse プラグインをエクスポートできない (解決)

Eclipse のプラグイン開発で, 「エクスポート」→「デプロイ可能なプラグインおよびフラグメント」→「次へ」→「完了」とすると, 「Problem during export」というタイトルのポップアップがあらわれ, 「Errors occurred during the export operation. The ant tasks generated log files which can be found at ...\logs.zip」というエラーメッセージが表示され, プラグインをエクスポートできなかった. logs.zip の中のログファイルを見ると, 「インポートされた [パッケージ名] は見つかりません」と書いてあった.

問題解決しようと思い, MANIFEST.MF の Import-Package のリストに当該パッケージを追加しようとするも, Eclipse に拒否されてしまった.

最終的には, エクスポートウィザードの「デプロイ可能なプラグインおよびフラグメント」というページの「オプション」タグを開き, 「ワークスペースのコンパイル済みクラス・ファイルを使用」をチェックし, MANIFEST.MF に「DynamicImport-Package: [パッケージ名]」を追加することで, 問題は解決した. 正しい解決方法なのかどうかは不明だが.

なお, 今回のケースでは, 当該パッケージは OSGi プラットフォーム側にシステムパッケージ (org.osgi.framework.system.packages) として存在するものであり, 何らかのバンドルからエクスポートされるものではない.