3

特定のバージョンの Lucene を含む Eclipse プラグインを開発しています。検索インデックスを生成してデプロイし、同じバージョンの Lucene を使用する別のアプリケーションで読み取れるようにする必要があります。

最近、Eclipse を 3.4 にアップグレードしましたが、2 番目のアプリケーションで検索インデックスを読み取れなくなりました。Eclipse 3.4 には新しいバージョンの Lucene が含まれていることがわかりました。このバージョンがインデックスの生成時に使用されると想定しています。

インデックスの生成時に使用されている Lucene のバージョンを正確に判断するにはどうすればよいですか? 私のプラグインのクラスパスはバンドルされたバージョンの Lucene で始まるので、私のバージョンが優先されるはずです。

ティア

4

3 に答える 3

3

ClassPath CheckerClassPath Helperを試してみてください。

Luce がインデックスを生成する展開環境に存在する jar と比較するために、開発環境で使用されている jar を正確に確認できる場合があります。

クラスパス チェッカー jar の競合:
クラスパスチェッカー

Classpath Helper Blocked (Obscured) クラス ビュー:
クラスパスヘルパー

于 2009-01-20T12:01:51.563 に答える
0

Eclipseプラグインを開発しているので、OSGiを調べる必要があります。EclipseプラグインはOSGiバンドルのインスタンスであり、OSGiには、バンドル間の依存関係とバージョン管理を処理するための強力なモデルがあります。

特定のコードはわかりませんが、プラグインでLuceneを使用する場合は、OSGiの「Import-Package」または「Require-Bundle」機能を使用して依存関係を表現します。プラグインにLuceneJARを含めません。すべてのプラグインに独自のLuceneJARが含まれていると、スペースが無駄になりますが、さらに重要なことに、互換性のないバージョンになってしまいます(あなたが持っているように)。

OSGIのWebサイトは、OSGiの旅を始めるのに最適な場所ではありません(OSGiの仕様とPeter Kriensのブログに適しています)。ネイル・バートレットのオンラインのようなものから始めるのが良いでしょう。

于 2009-01-27T11:50:33.417 に答える