"テスト"フェーズの開始時にMavenから "dependency:tree"目標出力を取得して、必要な問題をデバッグするのに役立ちますすべてのバージョンが使用されているかどうかを知る Antでそれは簡単だったでしょう、私はここでMavenのドキュメントと多数の答えを見てきましたが、まだそれを理解することはできません、確かにそれは難しいことではないのですか?Mavenは "テスト"フェーズの開始時に "dependency:tree"を実行します
答えて
あなたはdependency:tree
がtest
フェーズの開始で実行されていることを確認したいなら、あなたはdependency:tree
後に実施されることに元surefire:test
目標を移動する必要があります。これを行うには、実行する順序でプラグインを配置する必要があります。
完全なpom.xml
の例では、maven-surefire-plugin
の前にmaven-dependency-plugin
が追加されています。元のdefault-test
は無効になっており、新しいcustom-test
が追加され、これはdependency-tree
の実行後に実行されます。
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.stackoverflow</groupId>
<artifactId>Q12687743</artifactId>
<version>1.0-SNAPSHOT</version>
<name>${project.artifactId}-${project.version}</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.5.1</version>
<executions>
<execution>
<id>dependency-tree</id>
<phase>test</phase>
<goals>
<goal>tree</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.7.2</version>
<executions>
<execution>
<id>default-test</id>
<!-- Using phase none will disable the original default-test execution -->
<phase>none</phase>
</execution>
<execution>
<id>custom-test</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
それは少しぎこちないですが、それは実行を無効にする方法です。
は、プロジェクトのPOMでこれを宣言します。
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.5.1</version>
<executions>
<execution>
<phase>test-compile</phase>
<goals>
<goal>tree</goal>
</goals>
</execution>
</executions>
</plugin>
あなたが特定のビルド・フェーズ中に任意のプラグインを起動するために、このパターンを採用することができます。 http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Pluginsを参照してください。
ビルドフェーズのリストについては、http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Referenceも参照してください。 mabaが指摘するように、正しいタイミングでtree
のゴールが確実に実行されるように、慎重にフェーズを選択する必要があります。
これは実際のテストの後に 'dependency:tree'を実行します。 OPは、テストフェーズの開始時に彼はそれを実行することを望んでいると言います。 – maba
良い点。代わりに、 'test-compile'や' compile'にバインドすることもできます。プラグインをフェーズにバインドする一般的なパターンを理解すれば、問題を解決するのに十分です。 (私の答えを編集した)。 –
+1 'test'フェーズに' dependency:tree'を追加する方法を示しています。 'test'段階の始めに' dependency:tree'を実行する方法を示す別の答えを追加します。 – maba
この意志の出力テストの依存関係ツリー:
mvn test dependency:tree -DskipTests=true
- 1. アクティビティの開始時にタスクを実行
- 2. 実行開始時にポップアップを表示
- 3. テストフェーズではなく、統合フェーズの一部としてmaven-easyb-pluginを実行
- 4. Windowsサービスの開始時にタスクを実行するには?
- 5. RX:サブスクリプションの開始または破棄時にアクションを実行しますか?
- 6. 1つの目標/実行をMavenで開始する方法
- 7. は複数の実行スレッドで同時に操作を開始します
- 8. Visual Studioは開始時に改行を削除します
- 9. jPlayer曲の再生開始時にスクリプトを実行する
- 10. アプリケーション開始時に連続フルGCを実行する理由
- 11. Logcatエラー実行時例外、アクティビティを開始できません
- 12. Jettyは事前統合テストフェーズ(Maven)で起動しません
- 13. すべてのサブモジュールのテストフェーズの後にtestReportタスクを実行します
- 14. イベントハンドラを開始する前にクリックアクションを実行します
- 15. テストを開始する前にtomcatを実行するには
- 16. 実行時に展開を実行
- 17. 開始直後にタイマーを実行しますか?
- 18. Javaサービスラッパー - サービス開始時にアプリケーションが実行されない
- 19. 単体テスト実行時のasmxサービスの開始
- 20. Tomcat向けに公開:Mavenで実行
- 21. Webサービスコールで長時間実行ジョブを開始
- 22. Java - ループを開始してから実行しますか?
- 23. セッション開始(Wordpress Upload)の最大実行時間
- 24. Skrollr.jsはスクロールアップ時に別のアニメーションを開始します
- 25. アンインストールを開始する前にプログラムを実行するには?
- 26. 開始時にSIGABRT
- 27. Pythonスレッドは、Thread.startを呼び出す前に実行を開始します。
- 28. 開始時にSproutcore発行時にエラーが発生する
- 29. 正確に時間の開始時にサービスを開始し、その後1時間ごとに繰り返す
- 30. mavenテストフェーズでLog4Jログを無効にする
あなたは 'Mavenの依存性-Plugin'をは' test'期に 'tree'目標を実行したいことを言っていますか? – maba