web-dev-qa-db-ja.com

Mavenでは、特定のプロファイルに基づいてプラグインを実行する方法

3つのモジュールを持つMavenプロジェクトがあります。これらは親によって作成されましたpom.xml

選択したプロファイルに基づいて、サブモジュールのpom.xmlファイルの1つから1つのプラグインを実行する必要があるという要件があります。

特定のプロファイルがビルドで使用されている場合にのみこのプラグインを実行するように指定するにはどうすればよいですか?

26
mandy

ここでビルドプロファイルに関するドキュメントをお読みください: http://maven.Apache.org/guides/introduction/introduction-to-profiles.html

基本的には、サブモジュールのPOMでプロファイルを定義し、そのプラグインをプロファイルのpluginセクションに含める必要があります。プラグインのexecutionタグを使用して、プラグインを実行するビルドphaseを定義できます。

例については、ここを参照してください。 Mavenプロファイルを使用してビルドの実行を制御する

26
nwinkler

この場合に機能したのは、サブモジュールpom.xml内のメインpom.xmlと同じプロファイルを使用することでした。

基本的に私が欲しかったのは、メインのpom.xmlで特定のプロファイルが「X」と実行された場合にのみ、サブモジュールpom.xml内からプラグインを実行できるようにすることでした。

私が行ったのは、サブモジュールpom.xml内にプロファイル「X」を作成し、そのプラグインをこのプロファイル内に配置することでした。

これで、プロファイルXがメインのpom.xmlから実行されると、サブモジュールのpomファイルからこのプラグインも実行されます。

他のプロファイルであった場合、このプラグインはトリガーされません。

それが誰かを助けることを願っています:)

0
mandy