rt.jar
のクラス(javax.tools.*
)の一部を、自分のEclipseプラグインが自分のバージョンのこれらのクラスに依存しているものと置き換えたいと思います。通常、rt.jar
のクラスの置き換えは、bootclasspathを設定することによって行われます。私の質問は、Eclipseプラグインでこれを行う方法です。Eclipseプラグインのブートストラップクラスパスを設定するには?
私は、これらのクラスの私のバージョンのJARファイルを作成し、MANIFEST.MF
のBundle-ClassPath
属性、build.properties
、および.classpath
のbin.includes
属性にこれを追加しました。また、Eclipseアプリケーションの起動設定ダイアログの「ブートストラップエントリ:」というフィールドにJARファイルへのパスを入力し、「プロジェクトプロパティ>ビルドパス」の「オーダーとエクスポート」タブの上にJARを一番上に移動しました。それにもかかわらず、Eclipseアプリケーション起動構成を使用してEclipseプラグインを実行すると、プラグインではJARファイルのものではなくオリジナルのクラスrt.jar
が使用されます。
JARファイルのクラスを最初に検索し、そのクラスがJARファイルに見つからない場合にのみrt.jar
を参照するように、Eclipseプラグインを設定するにはどうすればよいですか?
プラグインからのインスタンス化のためにrt.jarクラスを特にオーバーライドする必要がありますか、またはアプリケーション全体に対してオーバーライドしますか? – sharakan
現在のところ、単一のプラグインの場合だけですが、どちらの場合でも答えを知ることはうれしいでしょう。 – reprogrammer