私は Maven リアクターについて読んでいますが、その用語の使用法に混乱しています。マルチモジュールはリアクターであり、Mavenリアクターを操作でき、リアクターはプラグインであることを読みました。原子炉とは正確には何ですか?
2 に答える
リアクターは、一連のモジュールで目標を実行できるようにする Maven の一部です。マルチモジュール ビルドに関するMaven 1.x ドキュメントに記載されているように(リアクターの概念は Maven 1.x に既に存在していました)、モジュールは個別の作業単位ですが、reactor を使用してそれらをまとめて同時にビルドすることができます。
リアクターは、各プロジェクトがそれぞれのプロジェクト記述子で指定した依存関係から正しいビルド順序を決定し、指定された一連の目標を実行します。プロジェクトの構築と、サイト生成などの他の目標の両方に使用できます。
説明したように、リアクターはマルチモジュール ビルドを可能にするものです。リアクターはモジュール間の依存関係の有向グラフを計算し、このグラフからビルド順序を導き出し (そのため、循環依存関係は許可されませんが、これは良いことです)、次にゴールを実行します。モジュール。つまり、「マルチモジュール ビルド」は「リアクター ビルド」であり、「リアクター ビルド」は「マルチモジュール ビルド」です。
Maven 2.x では、マルチモジュール ビルドのサポートが大幅に改善され、reactor が Maven ユーザーに対して透過的になりました。しかし、それはまだそこにあり、ボンネットの下で使用されています。
2008 年 9 月 (つまり、Maven 2 のロールアウトからかなり経った後)、(再び) Maven リアクターとより密接に対話できるようにするリアクター プラグインが作成されました。Brett Porter はReactor: My New Favorite Maven Pluginでそれについてブログを書いています。
ほとんどのリアクター プラグイン機能がネイティブでサポートされるようになりました (Maven 2.1.0 以降)。Maven のヒントとコツ: 高度な Reactor オプションを参照してください。
Reactor は、プロジェクトに複数のモジュールがある場合に使用されます。
リアクターによって行われる作業は次のとおりです。
- モジュールの詳細の収集
- 依存関係に基づいて順序を並べ替える
- プロジェクトを順番にビルドする
2.1 リリース以降、Maven がマルチモジュール プロジェクトをビルドする方法を操作できる新しいコマンド ライン オプションがあります。これらの新しいオプションは次のとおりです。
-rf, --resume-from
Resume reactor from specified project
-pl, --projects
Build specified reactor projects instead of all projects
-am, --also-make
If project list is specified, also build projects required by the list
-amd, --also-make-dependents
If project list is specified, also build projects that depend on projects on the list
詳細: