3

私の質問に適切な検索クエリを見つけるのは難しいので、重複していないことを願っています。

私はいくつかの目標を持って Maven プラグインを開発しています。そのうちの 2 つをチェーン (ライフサイクル?) で結合したいと思います。目標が実行される前に、最初に目標clean-checkoutを実行したいと思います。checkout私は注釈アプローチを使用しており、@Execute注釈を使用してどの目標を実行する必要があるかを示してみました。checkoutプラグインはコンパイルされますが、実行中に先行する目標がないため、想定どおりに実行されませんclean-checkout

@Mojo(name = "checkout", defaultPhase = LifecyclePhase.GENERATE_SOURCES)
public class Checkout extends AbstractMojo {

@Mojo(name = "clean-checkout", defaultPhase = LifecyclePhase.GENERATE_SOURCES)
@Execute(goal = "checkout", phase = LifecyclePhase.GENERATE_SOURCES)
public class CleanCheckout extends AbstractMojo {

プロパティがないdefaultPhasephase、ビルドが失敗していました。

私はどこで間違いをしていますか?

4

1 に答える 1

1

カスタムライフサイクルを定義すると役立つ場合があります。2年前、私はmaven-release-pluginをより詳細に分析し、それらが独自のライフサイクルを使用していることに気づきました。

ここでそれらのライフサイクル定義を見つけることができます: http://svn.apache.org/viewvc/maven/release/tags/maven-release-2.3.2/maven-release-manager/src/main/components-fragment.xml? view = markup

さらに、SonatypeのMavenbook内に詳細を見つけました:http: //www.sonatype.com/books/mvnref-book/reference/writing-plugins-sect-plugins-lifecycle.html

この興味深いブログも役立つかもしれません:http: //www.sonatype.com/people/2009/08/create-a-customized-build-process-in-maven/

于 2012-09-30T07:01:06.767 に答える