Mavenのビルドライフサイクルで、validateフェーズがvalidateプロジェクトとして記述されていることを確認しましたビルドを完了することができます
1。プロジェクトのチェックポイントは何ですかcorrect?
2。これらは何ですか必要な情報ビルドを完了するために利用可能である必要がありますか?
両方の例を提供できますか?
どうして?デフォルト(つまり、ユーザー定義のプラグインのゴールがないクリーンで空のプロジェクト)では、mvn validate
は何もしません。
どうして?ビルドフェーズはプラグインの目標で構成されています。フェーズの目標はありませんか?フェーズは何もしません。
ビルドライフサイクルの概要 ガイドの ビルドライフサイクルの基本 セクションから:
さらに、ビルドフェーズには、0個以上の目標をバインドすることもできます。ビルドフェーズにバインドされた目標がない場合、そのビルドフェーズは実行されません。ただし、1つ以上の目標がバインドされている場合は、それらの目標をすべて実行します。
つまり、validate
フェーズにバインドされているプラグインのゴールを宣言しない限り、validate
フェーズは何もしません。
あなたが見つけた定義は、何かがビルドフェーズ中に発生すると言っているのではなく、むしろアクションをビルドライフサイクルのそのフェーズ(つまり、ステップ)で発生させたい場合、それが目標をバインドするフェーズです。
プロジェクトが正しいこと、およびビルドを完了するために必要なすべての情報が利用可能であることを検証します
これは、プラグインを期待どおりの順序で効率的に実行できるようにプラグインを編成する方法のガイドラインです。
たとえば、ビルドプラグインが定義されていない新しい空のMavenプロジェクトがあるとします。 mvn verify
を実行すると、Mavenは検証フェーズまでの各ビルドフェーズをクリックしていきます。出力が空であることを期待するかもしれませんが、デフォルト Built-in Lifecycle Bindings があるため、出力にはすべてのデフォルトの目標が含まれます。
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ MavenTest ---
...
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ MavenTest ---
...
[INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ MavenTest ---
...
[INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ MavenTest ---
...
[INFO] --- maven-surefire-plugin:2.10:test (default-test) @ MavenTest ---
あなたにとって、「正しい」プロジェクトの指標は、コードのスタイルがいくつかの基準を満たしていることである可能性があります。したがって、空のMavenプロジェクトに maven-checkstyle-plugin を追加するとします。
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.17</version>
<executions>
<execution>
<id>verify-style</id>
<phase>validate</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
...次にmvn verify
を再実行します。
[INFO] --- maven-checkstyle-plugin:2.17:check (verify-style) @ MavenTest ---
...
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ MavenTest ---
...
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ MavenTest ---
...
[INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ MavenTest ---
...
[INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ MavenTest ---
...
[INFO] --- maven-surefire-plugin:2.10:test (default-test) @ MavenTest ---
プラグインを宣言し、validate
フェーズの一部として実行するように指示したため、validate
フェーズは実際に何かを実行します。
ポイントをさらに説明するために、プラグインを再度削除してmvn validate
を実行すると、validate
フェーズにデフォルトのバインディングがないため、何も起こらないことがわかります。
C:\workspace\MavenTest>mvn validate
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building MavenTest 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.078s
[INFO] Finished at: Thu Jun 30 11:56:54 CDT 2016
[INFO] Final Memory: 2M/15M
[INFO] ------------------------------------------------------------------------
「必要な情報」が利用可能であることを確認する例として、プロジェクト内の特定の設定ファイルに特定の情報があることを確認する場合があります。繰り返しますが、それは実際にあなたのユースケースに基づいてあなた次第です。