3

私はMavenマルチモジュールプロジェクトに取り組んでいます。特定のモジュールをビルドし、ユニットテストをスキップしてビルドプロセスをスピードアップしたいと思います。

私は次のことを試しました:

mvn reactor:make -Dmake.folders=search -Dgoals=package,-DskipTests

mvn reactor:make -Dmake.folders=search -Dgoals=package -Dmaven.test.skip=True

ただし、これによる影響はありません。手がかりはありますか?

4

3 に答える 3

6

最初の行は正しいアイデアのように見えますが、代わりに-Dgoalsを使用する必要があります-Dmake.goals

リアクタプラグインの例のページから:

リアクタプラグインは、Mavenの2番目のコピーを起動してその魔法を実行します。このMavenのコピーには、-debugフラグ、システムプロパティ、-DskipTestsなど、Mavenの最初のコピーに渡したすべてのフラグとオプションが含まれているとは限りません。

次のように、-Dmake.goalsを使用してそれらを目標として扱うことにより、生成されたMavenに追加の引数を渡すことができます。

mvn reactor:resume -Dmake.folders=barBusinessLogic -Dmake.goals=install,-DskipTests

言い換えると、「目標」は、生成されたMavenに渡される単なる追加のコマンドラインパラメーターです。必ずしも「目標」である必要はありません。

本当に凝ったものにしたい場合は、上記の-Dmake.printOnlyモードでreactorプラグインをドライランすることをお勧めします。これにより、プラグインがビルドに使用したはずのコマンドが出力されますが、そのコマンドラインを心ゆくまで微調整することができます。

于 2011-01-01T18:13:47.097 に答える
3

プロジェクト構造を考えると

/
  A/pom.xml
  B/pom.xml
  C/pom.xml
  D/pom.xml
  E/pom.xml
  pom.xml (parent pom file that includes A,B,C,D,E modules)

あなたに似ています

mvn reactor:make -Dmake.folders=C,D,E -Dgoals=package -Dmaven.test.skip=True

私のアプローチがreactorプラグインの機能を正確に実行するかどうかはわかりませんが、次のアプローチで十分に機能することがわかりました。

mvn -pl=C,D,E -DskipTests=true package
于 2010-11-29T22:11:44.260 に答える
2

実行しているコマンドライン引数にオプション-Dmaven.test.skip=true (ケースに注意)を含めてみましたか?Javaと同様に、Mavenでは大文字と小文字が区別されます。ただし、通常、= trueの部分を削除すると、テストがスキップされる可能性があります。

于 2010-11-22T16:59:58.333 に答える