Maven-他の構成でプラグインを実行するためにカスタムフェーズを追加する

StackOverflow https://stackoverflow.com/questions/3127096

  •  30-09-2019
  •  | 
  •  

質問

1つのMavenプロジェクトに2つの統合テストがあります - 自動テストと手動テスト。手動テストはほとんどありませんが退屈です - 彼らはサーバーのプラグなどを引く必要があります。私は手動テストのために別の目標を作成したいので、私は次のようなものを実行できます mvn manualtests 手動テストを実行します。通常のMavenビルドを実行するだけの場合 mvn install または、自動テストを実行する必要があります。

私はすでに手動テストをtestngアノテーションで注釈しました @Test(groups="manual". 。目標は、SureFireプラグインの2つの構成、1つはビルドのテストフェーズにバインドされている自動テストを実行し、もう1つは別のカスタムフェーズにバインドされている手動テストを実行することです。 manualtests. 。プラグインの実行を存在しないフェーズ(つまり、Mavenによって定義されていない)にバインドすることは不可能なようです。あなた自身のフェーズを定義することはできませんか?

役に立ちましたか?

解決

簡単ではありませんが、それは可能です。最初のステップ:デフォルトでそれがどのように行われるかを見てください。

この依存関係を使用します:

<dependency>
    <groupId>org.apache.maven</groupId>
    <artifactId>maven-core</artifactId>
    <version>${maven.version}</version>
</dependency>

ソースを取得し、Meta-INF/Plexus内のComponents.xmlをご覧ください。そこでは、デフォルトフェーズとデフォルトのライフサイクル /フェーズバインディングの両方が定義されています。

これらのデフォルトフェーズをオーバーライドするプラグインを作成します(独自のコンポーネントでXML) 拡張機能として定義します

他のヒント

そのためにプロファイルを使用できるかもしれません:http://maven.apache.org/guides/introduction/introduction-to-profiles.html

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top