1

私はEclipseプラグインを書いています。このプラグインはいくつかのローカル jar ファイルを使用し、さらに他のプラグインにいくつかの依存関係があります。

jar ファイルから Google Code Search API を使用していますが、問題なく動作します。しかし、プラグインの依存関係をプロジェクトに追加した後org.eclipse.zest.dot.ui、Google Code Search API が機能しなくなりました - を呼び出すとnew CodeSearchService("my_ID")、次の実行時エラーが発生します。

分析に失敗しました: java.lang.NoSuchMethodError 例外が発生しました。

com.google.common.collect.ImmutableSet.buider()Lcom/google/common/collect/ImmutableSet$Builder;

これを注意深く確認して再現しました。プラグインが依存関係リストに表示されている場合、プラグインはCodeSearchService使用できなくなります。そうでない場合は、完全に機能します。実際のプロジェクト コードは変更されず、依存関係が追加されるだけです。

プラグインの依存関係を追加すると、突然いくつかのメソッドが消える方法がわからないので、これは私にとって非常に奇妙です。誰かが似たようなことに遭遇したことがありますか?この問題と考えられる解決策についての洞察を共有できますか? この問題がこれら 2 つのライブラリに固有のものであるかどうかもわかりません。

4

1 に答える 1

1

バンドルはorg.eclipse.zest.dot.ui、Google コレクションに依存する依存関係を取り込むため、Google Code Search API にはこれらの別のバージョンが必要であり、現在は別のバージョンを使用しようとしていると推測されます。これを解決する方法はわかりませんが、両方を最新バージョンに更新してみてください (最新のバンドルについては、 http://wiki.eclipse.org/Zest#Zest_2.xを参照してください)。org.eclipse.zest.dot.ui

于 2011-06-18T20:47:45.450 に答える