2012-11-05 1 views
6

rt.jarのクラス(javax.tools.*)の一部を、自分のEclipseプラグインが自分のバージョンのこれらのクラスに依存しているものと置き換えたいと思います。通常、rt.jarのクラスの置き換えは、bootclasspathを設定することによって行われます。私の質問は、Eclipseプラグインでこれを行う方法です。Eclipseプラグインのブートストラップクラスパスを設定するには?

私は、これらのクラスの私のバージョンのJARファイルを作成し、MANIFEST.MFBundle-ClassPath属性、build.properties、および.classpathbin.includes属性にこれを追加しました。また、Eclipseアプリケーションの起動設定ダイアログの「ブートストラップエントリ:」というフィールドにJARファイルへのパスを入力し、「プロジェクトプロパティ>ビルドパス」の「オーダーとエクスポート」タブの上にJARを一番上に移動しました。それにもかかわらず、Eclipseアプリケーション起動構成を使用してEclipseプラグインを実行すると、プラグインではJARファイルのものではなくオリジナルのクラスrt.jarが使用されます。

JARファイルのクラスを最初に検索し、そのクラスがJARファイルに見つからない場合にのみrt.jarを参照するように、Eclipseプラグインを設定するにはどうすればよいですか?

+0

プラグインからのインスタンス化のためにrt.jarクラスを特にオーバーライドする必要がありますか、またはアプリケーション全体に対してオーバーライドしますか? – sharakan

+0

現在のところ、単一のプラグインの場合だけですが、どちらの場合でも答えを知ることはうれしいでしょう。 – reprogrammer

答えて

6

私が見つけた解決策は、プラグインが動作するJREを設定することです。

プラグインが実行されているJREを見つけるには、まずプラグインの実行環境を見つける必要があります。プラグインのファイルMANIFEST.MFを開き、属性が設定されている実行環境を見つけます(例:JavaSE-1.6)。

Eclipseでは、各実行環境がJREインストールにマッピングされます。実行環境がPreferences -> Java -> Installed JREs -> Execution Environmentsに設定されていることを確認し、プラグインで使用されている実行環境をクリックします。

プラグインを実行するJREを設定する必要があります。 Preferences -> Java -> Installed JREsに移動し、プラグインで使用されるJREを選択します。 Edit...ボタンを押してDefault VM arguments-Xbootclasspath/p:/path/to/your/jar.jarに設定します。最後に、[Finish]ボタンをクリックし、[設定]ウィンドウのOKボタンをクリックします。

さまざまな場所(たとえば、Eclipseアプリケーションの起動設定ダイアログ)でVM引数を設定できる場合があります。

関連する問題