バイナリー・プロジェクトは、コンパイルおよびビルド中に参照用のワークスペースにのみ存在するため、バイナリー・プロジェクトを使用することで、大規模なエンタープライズ・アプリケーションの開発を最適化できます。
ワークスペースですべてをビルドするのに数分間以上かかる場合は、ユーザーのチームにおいてバイナリー・プロジェクトが有効な場合があります。
例えば、ご使用のエンタープライズ・アプリケーションが 20 の EJB モジュールと
1 つの Web モジュールから構成される場合は、Web モジュールをコンパイルするたびにすべての
EJB モジュールをビルドしないほうが、Web モジュール・プロバイダーの処理効率が良くなります。
バイナリー・プロジェクトは、開発チームが明確に分離されている場合に効果的です。
バイナリー・プロジェクトは開発過程の複合度を高めるため、大規模アプリケーションの場合に最も役立つことに注意してください。
アプリケーション規模が小さく、ビルド時間が問題にならない場合には、プロジェクトをソースのままにしてください。
「プロジェクト・ビルド・パスおよびメタデータ・ファイルをインクルード」オプションを選択してエクスポートされた EAR をインポートする際、バイナリー・プロジェクトが作成されます。
インポートする際に「部分 EAR 開発用にインポート」を選択した場合、バイナリー・プロジェクトとしてインポートしたいプロジェクトを選択できます。
バイナリー Web プロジェクトの場合、Web プロジェクト内の Java™ ソースは依然としてワークスペース内に展開されます。
バイナリー・プロジェクトでは、検証ビルダーはデフォルトで使用不可になっています。バイナリー Web プロジェクトでは、リンク・ビルダーと検証ビルダーはデフォルトで使用不可になっています。
インポート時のバイナリー・プロジェクト作成の詳細については、『エンタープライズ・アプリケーション EAR ファイルのインポート』を参照してください。
バイナリー・プロジェクトの構造
バイナリー・プロジェクトには、以下の規則が定義されています。
- Java のビルド・パスにソース・コンテナーがないこと。
- プロジェクトには、厳密に 1 つの JAR がビルド・パス上にあり、エクスポートされていること。
- EJB モジュールとアプリケーション・クライアント・モジュールの場合は、JAR が「プロジェクト・エクスプローラー」ビューまたは読み取り専用エディターで表示できるように、メタデータ・リソース (サンプル: ejb-jar.xml) がロードされること。
- Web プロジェクトの場合は、ソース・プロジェクトが、バリデーターがオフになっていることを除き、同じ構造であること。
バイナリー・プロジェクト使用におけるプロセス・フロー
ソース制御 (サンプル: CVS) を使用しているチームでは、標準プロセスには以下のような作業があります。
- 夜間ビルドを実行するか、またはソース・コードを含む EAR ファイルをエクスポートします。
エクスポート時に、プロジェクト・ビルド・パスとメタデータ・ファイルを組み込むようにオプションを選択状態します。こうすることで、外部依存関係およびモジュールと JAR 名間のマッピングを保存できます。例えば、xerces.jar のような外部 JAR ファイルに依存する Java プロジェクトがあり、この JAR がビルド・パス上にあるとします。
組み込みオプションを選択することで、確実にマッピングを保存することができます。
- この後、個々の開発者は「部分 EAR 開発用にインポート」オプションを用いて EAR をワークスペースにインポートできます。
- 次に、開発者がインポートしたくないプロジェクトがリポジトリーに属していることを前提とした場合、各開発者は特定のモジュールのみをワークスペースにインポートすることを選択できます。
その他の場合、開発者はバイナリー・プロジェクトをリポジトリー内の適切なソース (開発者が積極的に開発中のソース) に置き換えることができます。
バイナリー・プロジェクトのフィーチャーと制限
- アプリケーション・クライアント・モジュールや EJB モジュール内のリソースの変更はできません。例えば、バイナリー・プロジェクト内のデプロイメント記述子は編集できません。
適当なエディターでリソースをオープンすることはできますが、ファイルは読み取り専用になり、ウィジェットは使用できません。
- EAR インポート (インポート・ウィザードのオプションとして使用可能)
により作成されたバイナリー・プロジェクトの目的は、読み取り専用です。バイナリー・プロジェクトのコンテンツを変更しようとしてはいけません。
しかし、そのバイナリー・プロジェクトを削除して、
リポジトリーから元のバージョンに置き換えることができます。ほとんどの動作は、
バイナリー・プロジェクトに対しては使用不可にしなければいけません。バイナリー・プロジェクトを使用する場合、
そのプロジェクトのコンテンツまたは JAR を変更するような動作は回避してください。