私が理解していることから、maven では、プラグインの目標をライフサイクル フェーズに関連付けることができます。定義されていない場合、デフォルトのフェーズは何ですか?
3 に答える
私の経験では、プラグインの目標によって異なります。たとえば、maven-assembly-pluginのassembly:singleゴールには、デフォルトのフェーズがリストされていません。source:jar-no-forkゴールは、デフォルトでフェーズにバインドされpackage
ます。通常、各目標には、ドキュメントの「属性」セクションにデフォルトのフェーズがリストされています。
もう1つの方法は、ソースコードを確認することです(例:source:jar-no-fork mojo)。@phase
クラスヘッダーのコメントブロックで探します。
最後になりましたが、選択したパッケージ(jar、war、ear、pomなど)は、デフォルトで目標をライフサイクルフェーズにバインドします。Mavenの本では、ライフサイクルとバインドされた目標について説明しています。maven-core
アーティファクトには、構成ファイルが含まれています/src/main/resources/META-INF/plexus/artifact-handlers.xml
。
http://maven.apache.org/guides/mini/guide-configuring-plugins.htmlを正しく読むと、デフォルトはありません。デフォルト フェーズを定義しない場合、またはデフォルト以外のフェーズを構成する場合、目標は実行されません。
目標のデフォルト フェーズは、使用しているプラグインによって異なります。たとえば、appassemblyr-maven-pluginはパッケージ フェーズにバインドされます。しかし、どのフェーズにもバインドされていない他のプラグインがあります。そのような場合、フェーズを自分で定義する必要があります。