デフォルトでは、PDE はマニフェスト・エディターで依存性のリストが変更されるたびに、 プラグイン・プロジェクトのビルド・パスを更新します。 このフィーチャーを「プラグイン開発」->「Java のビルド・パス制御」設定ページでオフにした場合、 従属性のリストを変更するたびにビルド・パスを更新しなければなりません。
PDE のビルド・パス計算フィーチャーを利用するために PDE のマニフェスト・エディターを使用する必要はありません。 プラグインのビルド・パスを明示的に更新するためには、 すべての plugin.xml/fragment.xml ファイルと Java プラグイン・プロジェクト上で使用できる「クラスパスの更新...」ポップアップ・メニュー項目を常時使用できます。 これによって、次のウィザードが開きます。
チェック・ボックスのリストには、ワークスペース内のすべてのプラグインとフラグメントを含みます。 ビルド・パスを更新したいプラグイン/フラグメントを選択して、「終了」を押してください。
ビルド・パスの計算では、PDE がビルド・パスを最初から再作成することに注意してください。 これは、ビルド・パスに手動で追加した項目はすべて失われることを意味します。 PDE はビルド・パスを再帰的にビルドするので、ビルド・パスはゼロから更新されます。 その理由は次のとおりです。
Java クラスがランタイムにプラグインによって参照されると、そのクラスを得るために、 最初にそのプラグインのライブラリーが検索され、次に、そのプラグインに必須のプラグインのライブラリー、 次に、それらのプラグインに必須のプラグインのライブラリー、というように検索が行われます。 設計時に類似の検索環境を再作成するために、PDE はビルド・パスを再帰的に更新します。 いくつかの異なるプラグインが同じライブラリーに依存することもあります。 依存性リストからこれらのプラグインの 1 つを削除する場合、 チェーンをさかのぼってライブラリーを除去することは安全ではありません。 それは、リストに残っているプラグインの一部がそれらのライブラリーを必要としていることがあるからです。 有効なビルド・パスを常に維持する唯一の方法は、ビルド・パスをゼロから作成することです。
PDE は、オーサリング・サーバー上でプロジェクトをより効果的に共用するために、 接尾部が ECLIPSE_HOME である 1 つ以上の Java クラスパス変数によって表されるランタイム・プラットフォーム・ロケーションを基準にしたビルド・パスに、 すべての外部ライブラリーを追加します。 これによってサーバー上にコードを置くことが可能になり、 コードはプラットフォーム・インストールのロケーションに関係なく処理を行います。 これらの変数の設定と管理は PDE によって行われるため、 値を変更することはできません。
PDE は、2.1 以降、クラスパスの表現および計算の代替方法を提供しています。 この方法は、従属プラグインのエントリーを明示的に作成する代わりに、JDT クラスパス・コンテナーを使用した、 あるレベルの間接化技法を導入しています。 コンテナーは、すべての従属プラグイン・エントリーに取って代わり、 安定しており予測可能なクラスパスを提供します。 クラスパス・コンテナーを使用するときには、 クラスパスにソース・フォルダー、 必要なプラグイン・コンテナー、 および JRE コンテナー (同一のメカニズムを使用して、 オンザフライで計算される実際の JRE エントリーのプロキシーを提供する) が含まれます。 このクラスパスは、別の開発者のマシンまたはオペレーティング・システム、 あるいはその両方に問題を発生させる心配なしに、 サーバー上で共用することができます。
クラスパス・コンテナーを使用するために必要なことは、 「設定」>「プラグイン開発」>「Java のビルド・パス制御」を開いて、 「クラスパス・コンテナーを使用...」チェック・ボックスを選択することのみです。 適用された変更を表示するには、 プロジェクトのクラスパスを更新する必要があります。 クラスパス・コンテナーへの切り替えを行うと、 外部プラグインまたはインポート・バイナリー・プラグイン・プロジェクト、 あるいはその両方を混合して使用できます。 どの場合にも、クラスパス・コンテナーは変更を着実に反映します。