8

3 つのレベルのモジュールを含むプロジェクトがあります。次の組織があるとしましょう...

+-- maven-root
   +-- maven-module-1
   |   +-- maven-submodule-1-1
   |   +-- maven-submodule-1-2
   +-- maven-module-2
   |   +-- maven-submodule-2-1
   |   +-- maven-submodule-2-2
   +-- maven-module-3
       +-- maven-submodule-3-1
       +-- maven-submodule-3-2

さらに、次の一連の依存関係があります

  • maven-module-2依存するmaven-module-1
  • maven-module-3依存するmaven-module-3

この構造で、maven-module-1およびそのサブモジュールのアーティファクトがローカルリポジトリで既に利用可能であると仮定すると、maven リアクター (例として) を使用してmaven-module-2、そのサブモジュールのみをビルドするソリューションはありますか?

もしそうなら、Mavenリアクターを使用して、私はすでにそれを知っています

mvn clean install -pl :maven-module-2 --also-make-dependant

それは構築します

  1. maven-module-2
  2. maven-submodule-2-1
  3. maven-submodule-2-2
  4. maven-module-3
  5. maven-submodule-3-1
  6. maven-submodule-3-2

maven-module-3に依存しているようにmaven-module-2

そして明らかに、走っている

mvn clean install -pl :maven-module-2 --also-make

と のみをビルドmaven-module-1maven-module-2ます。

では、そのプロジェクト組織を使用して、どのようにビルドすることができmaven-module-2ますか?

4

1 に答える 1

19

使用する

mvn clean install -f maven-module-2 -N

maven-module-2 のみをビルドし、

mvn clean install -f maven-module-2

maven-module-2 とその子をビルドします

-f は、Maven に対して、現在のディレクトリにあるものとは別の POM (またはモジュール ディレクトリであり、そこに pom.xml が含まれる) を使用するように指示するために使用されることに注意してください。したがって、maven がプロジェクト内のすべてのモジュールを考慮してからそれらのサブパーツのみをビルドする -pl とは異なり、-f はこのプロジェクト/モジュール/pom によって参照されるもののみをビルドします。やること

mvn clean install -f maven-module-2

まったく同じです

cd maven-module-2; mvn clean install
于 2013-01-09T17:55:54.593 に答える