Maven モジュール + 特定のモジュールを 1 つ作成する 質問する

Maven モジュール + 特定のモジュールを 1 つ作成する 質問する

P親プロジェクトと 3 つのサブモジュールA、、Bおよび を含むマルチモジュール Maven プロジェクトがありますC。 とBは両方ともCwar プロジェクトであり、両方とも に依存していますA

mvn compile入力するとP、すべてのサブモジュールが適切にコンパイルされます。問題は、特定のモジュールに対して操作を実行したい場合に発生します。

プロジェクト の war をパッケージ化できるようにしたいのですBが、 のディレクトリから package コマンドを実行するとB、 の依存関係が見つからないというエラーが表示されますA

この質問から私は理解しました:Mavenと依存モジュールおそらく Maven はこの種の依存関係解決のために設計されていないのでしょうが、それではどうやってパッケージ化すればいいのかという疑問が生じますB

  1. mvn package本当に必要なのは、プロジェクト階層全体に対して実行する必要があるのでしょうかB?

  2. パッケージ化するたびに、A のスナップショットをローカル リポジトリにインストールする必要がありますかB?

Aこの 2 番目のシナリオは、まだ積極的に開発中であるため、あまり面白くありません。

ベストプラクティスはありますか?

ベストアンサー1

ベストプラクティスはありますか?

使用Maven の高度なリアクター オプション、 すなわち:

-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

cd親の P ディレクトリに移動して、次のコマンドを実行します。

mvn install -pl B -am

これにより、B と B に必要なモジュールがビルドされます。

artifactIdディレクトリ名と異なる を参照する場合は、コロンを使用する必要があることに注意してください。

mvn install -pl :B -am

ここで説明されているように:

おすすめ記事