2012-03-26 25 views
3

Heliosでうまく動作しているEclipseのプラグインを開発しました。 Junoをインストールし、plugins jarをdropinsフォルダに入れてEclipseを起動しましたが、プラグインはJunoで動作しません(余分なメニュー項目は表示されません)。Heliosで開発されたEclipseプラグインがJunoに表示されない

プラグインを表示すると、そのプラグインがリストに表示されます。私はバージョン問題(something like this)のようなものでなければならないと思っていますが、プラグインを作成したとき、私はmaxバージョンを指定せず、最小バージョンのみを指定しました。プラグインの残りの部分と同じように署名されていないことに気づいたが、動作しなくてはならないとは思わない。

私はJunoでプラグイン開発プロジェクトを開き、 "Testing"の下の "Eclipseアプリケーションを起動する"で実行しようとしました。同じ結果(メニュー項目なし)。私は( "プロパティ..."ボタンを使用して)ミニバージョンを削除しました。まだ喜びはありません。私がHeliosで上記を行うと、それが動作します(メニュー項目が表示されます)。

私の "Required Plug-ins"には、org.eclipse.ui、org.eclipse.core.runtime、org.eclipse.jdt.core、org.eclipse.core.resources、org.eclipse.uiがあります。 .console、org.eclipse.jface.text、すべて最小または最大バージョンなし。そして、「プラグイン依存関係階層を表示する」をクリックすると、同じエントリが表示されます。すべてが整然としているようだが、私のアプリは動かないようだ。検出無問題で

Plug-in Registry > (right click on my plugin) > Show Advanced

Plug-in Registry > (right click on my plugin) > Diagnose

結果。緑の三角形で

Plug-in Registry > (right click on my plugin) > Start

結果、ないメニュー項目はまだありません。

フィーチャーアップデートサイトを設定することさえできます。私はHeliosの完全版の下で、ローカルの機能更新サイトを作成し、Heliosのドロップインディレクトリからjarファイルを削除し、サイトからアプリケーションをインストールしました。完璧に働いた。しかし、同じ方法でJunoからインストールした場合、プラグインレジストリに表示されますが、メニューエントリは表示されません。見た目が上がっているようだが、明らかに実行されていない(期待された場所にメニュー項目がないことが示されている)。

Extensions > org.ecliipse.ui.menus > menuContributionより、私のメニュー項目はlocationURI=popup:org.eclipse.jdt.ui.PackageExplorerです。ヘリオスとジュノの間で何か変わったのでしょうか?

更新:空の作業領域がインストールされています。私はJunoの別のコピーをインストールし、それを空のワークスペースに向け、ローカルの機能更新サイトからインストールしました。その結果、アプリケーションはいつものように動作しました。これは手がかりを提供するかもしれませんが、私はたくさんの手間が必要なプロジェクトがたくさんあり、このルートに行く価値はありませんので、 "解決策"ではありません。

アップデート2: 1)ジュノの新鮮をインストールしました、空のワークスペースを開いて、eclipse\pluginseclipse\configuration\org.eclipse.equinox.simpleconfigurator\bundles.infoの後、記載された内容とファイルシステムのリストされている内容、ジュノを閉じました。両者の唯一の違いは、.sourceで終わるエントリであり、これは期待されています。 2)Junoを起動し、私のHeliosワークスペースのコピーを指し示した。 Help > Install new software... > Add... > Local... > (select local feature update site) > (uncheck Group items by category)と残りは正常にインストールを完了します。3)Junoを終了し、プラグインがbundles.infoに追加され、プラグインがファイルシステムにeclipse\pluginsで追加されていることに注意してください。言い換えれば、それらのそれぞれは、私のプラグインである追加のアイテムを1つ持っていました。 4)Junoを起動しましたが、プラグインのメニュー項目が表示されませんでしたが、すべての表示(プラグイン診断)が有効であることが示されました。 5)プラグインjarをdropinsフォルダにコピーしましたが、改善はありません。

任意さらに次に試してみたいことについてのご指摘ありがとうございます。

+0

ああ、空の作業領域で動作します。とった。私の編集された答えをチェックしてください。ありがとう@Fredrik。 – Fredrik

答えて

2

まず、プラグインが見つかるかどうかを確認する必要があります。 次に、プラグインが解決されたかどうか、つまりすべての要件が満たされているかどうかを確認する必要があります。

プラグイン開発版のEclipseをお持ちの場合は、プラグインのレジストリビューを開くことができます。あなたのプラグインがリストに含まれているかどうかを確認してください。そうであれば、少なくともそれが見つかっています。次に、それを右クリックし、高度な操作を有効にしてから、診断を選択します。おそらくいくつかの要件は満たされていないでしょう。 プラグイン版のEclipseをお持ちでない場合は、osgiコンソールを使用できます。コンソール・ビューに移動し、表示メニューでOSGIコンソールを選択します。 すべてのプラグインを表示するにはssコマンドを実行し、それを診断するプラグインのIDはdiag 123です。

はまた、see a previous answer to a similar question

が、私は時間で動作するようにdropinsカタログに配置されたいくつかのserious problems取得プラグインを持ってきた...あなたは直接eclipse/pluginsカタログにコピーしようとすることができ。それとも、そのように扱われるのが好きですか?機能と更新サイトを作成し、更新サイトからプラグインをインストールします。

編集:

ああ、 "空のワークスペースにインストールし、それが働きました"。 bundles.infoファイルに関する問題が発生しています。 this page

ファイルbundles.infoには、現在のシステムにインストールされているすべてのプラグインのリストが含まれています。起動時に、このファイルにリストされているすべてのプラグインは、実行するプラグインの正確なセットとしてOSGiに渡されます。 プラグインディレクトリ内のその他のプラグインは無視されます。

.metadata\.plugins\org.eclipse.pde.core\org.eclipse.equinox.simpleconfiguratorで作業領域を確認してください。 2つのワークスペースのファイルを比較してください。ファイルの違いは違います。最初のワークスペースのファイルを編集して、2番目のワークスペースからbundles.infoからプラグインをリストした行を追加します。

bundles.infoファイルは更新される可能性がありますが、手動での編集は簡単です。

+0

私はあなたの提案を質問にマージしました。まだ喜びはありませんが、私は学んでいます。 – Dale

+0

@Dale Junoでソースを実行しようとしましたか?プロジェクトを開いてEclipseアプリケーションとして実行することを選択した場合、アクティベータクラスとメニューを処理するクラスにブレークポイントを置くことができます。 – Fredrik

+0

はい私はそれを試みました。私は違う何かを見なかったが、私はもう一度それを試してみる。 – Dale

関連する問題