1. ホーム
  2. maven

[解決済み] Mavenの "リアクター "とは何ですか?

2022-08-10 02:08:20

質問

Maven リアクターについて読んでいますが、その用語の使い方に戸惑っています。 マルチモジュールがリアクターであること、Maven リアクターを操作できること、リアクターがプラグインであることを読みました。 リアクターとは正確には何ですか?

どのように解決するのですか?

リアクターは、モジュールのセットで目標を実行するためのMavenの部分です。Maven 1.x で言及されているように マルチモジュールビルドに関するドキュメント (リアクターの概念は Maven 1.x で既に存在していました) で言及されているように、モジュールは は個別の作業単位ですが、リアクターを使ってそれらを集め、同時にビルドすることができます。 とします。

リアクターは、各プロジェクトがそれぞれのプロジェクト記述子に記述した依存関係から正しいビルド順序を決定し、記述された目標セットを実行します。これは、プロジェクトの構築とサイト生成などの他の目標の両方に使用することができます。

説明したように、リアクターは複数モジュールのビルドを可能にするものです。モジュール間の依存関係の有向グラフを計算し、このグラフからビルド順序を導き出し (これが周期的依存関係が禁止される理由です。とにかく良いことです)、それからモジュール上で目標を実行するのです。言い換えれば、" マルチモジュールビルド とは、" リアクタービルド "であり、" リアクタービルド "は、" マルチモジュールビルド "です。

Maven 2.x では、マルチモジュールビルドのサポートが非常に改善され、リアクターは Maven ユーザーにとって透過的になっています。しかし、それはまだそこにあり、フードの下で使用されています。

2008 年 9 月 (つまり、Maven 2 のロールアウトから長い時間が経過した後) に、ある reactor プラグイン が作成され、Maven リアクターと (再び) より密接に相互作用することができるようになりました。Brett Porter はこのプラグインについて リアクター。私の新しいお気に入りのMavenプラグイン .

リアクタープラグインの機能のほとんどがネイティブでサポートされるようになりました(Maven 2.1.0以降)。以下を参照してください。 Maven Tips and Tricks を参照してください。高度なリアクターオプション .