ボンビア・ボー
Maven ビルドのライフ サイクルは、一連のフェーズを持つ豪華な食事のようなものだと考えてください。
- スターター (リソース)
- メイン (コンパイル)
- デザート(パッケージ)
- コーヒー (インストール)
- digestif (デプロイ)
目標は、その段階で提供される実際の食事です。
- 前菜:ガスパチョ
- メイン:ステーキ。グレービー; フライドポテト
- デザート:ティラミス
- コーヒー:カプチーノ
このアナロジーでは:
- pom.xml ファイルは、チョーク ボードに書かれた今日のスペシャルに相当します。
- コマンドラインで呼び出すこと
mvn
は、ウェイターに注文することと同じです
- 1 つのフェーズ (ステーキ + グレービー + フライドポテト) に複数の食品/目標をバインドできます。
家のデフォルトが気に入ったら、最初の N コースを持ってくるように彼に言うことができます。
"I'll take the 2 course meal"
$ mvn compile
メイン コース (ガスパチョの後にステーキ + グレービー + フライド ポテト) まですべてが揃っています。
1 つのゴールを呼び出すことは、オーダーをカスタマイズすることと同じです。
"I'll take a Cobb salad plus the 2 course meal"
$ mvn javadoc:javadoc compile
その目標をメニューに永続的に追加したい場合は、それを pom ファイルに追加します。これで、次の呼び出しに戻ります。
$ mvn compile
その結果、ガスパチョ + コブ、ステーキ + グレービー + フライドポテトが続きます。
目標をフェーズにバインドすることに関する最後のポイント。
デフォルトでは、各目標は特定のフェーズで実行されます (通常、コブ サラダがスターターとして提供されます)。ただし、ウェイターに伝えるようなもので、フェーズ バインディングをオーバーライドできます。"I'll have a Cobb salad, but bring it at the same time as the main"
これにより、目標とフェーズの背後にある直感が明確になることを願っています。