0

次の Maven 組織があります。

- ./pom.xml (top-level project, which defines the 4 modules below)
   - ./a/pom.xml (jar)
   - ./b/pom.xml (jar)
   - ./c/pom.xml (war)
   - ./d/pom.xml (war)

これまでのところ、Maven を次のように使用しています (すべてルートで実行されます)。

1. mvn clean compile install
2. mvn tomcat7:redeploy -pl c
3. mvn tomcat7:redeploy -pl d

これは完全に機能しますが、これが好ましい方法であるかどうかはよくわかりません。最初のステップでは、すべてのプロジェクトをインストールしていますが、実際には jar プロジェクトのみをインストールする必要がaありbます。canddプロジェクトをインストールする必要はありません。

cと のインストールに問題はありませんがd、これを回避するための Maven のより良い使用方法はありますか? aとはいつでも手動でインストールできますbが、これはもちろん、モジュールの利点 (依存関係の順序の自動検出、利点の 1 つを挙げると) を損なうものです。

4

1 に答える 1

1

compileinstallはどちらもデフォルトのライフサイクルの一部であるため、 を呼び出す必要はありませんcompileinstallまた、依存関係がリアクターの一部である場合 (つまり、ビルド中のすべての Maven プロジェクト) はファイルする必要はありません。代わりにpackage十分ですが、verify統合テストがある場合に備えて私は好みます。おそらくこれも実行できます: c をビルドするために必要なマルチモジュール プロジェクトのプロジェクトをトリガーしますmvn verify tomcat7:redeploy -pl c -am-am

于 2015-10-18T10:13:35.183 に答える