2011-10-25 19 views
2

同じフェーズで同じMavenプラグインを複数回実行する必要があります。私が欲しいものMavenプラグイン追加の実行

  1. はmypluginを実行
  2. のmaven-アセンブリのプラグインを実行する(ステップ1に依存します)
  3. (ステップ2に依存して)再びのmaven-アセンブリのプラグインを実行します再度mypluginを実行します(手順3によります)

プラグインを順番に定義する場合の実行順序(上記と同じ順序):

  1. のmaven-組立・プラグイン
  2. がmyplugin再び
  3. 実行のmaven-アセンブリのプラグインを実行して、実行し
  4. 再び

私のソリューションは、私自身のプラグイン内のすべての実行を組み合わせることであるmyplugin実行正確な順序を制御するために、私はそれを行うための最良の方法だとは思わない。ありがとう!

答えて

2

同じ正確な段階でプラグインを実行する必要はありますか?他の関連する段階を使用することはできませんか? Mavenには今日フェーズがたくさんあります。 "準備パッケージ"対 "パッケージ"。私はおそらく(これは実際のシナリオではありませんBWT)このようなプラグインの複数の実行を定義しようとする:

  <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <version>2.2.1</version> 
      <executions> 
       <execution> 
        <id>assembly1</id> 
        <goals> 
         <goal>assembly</goal> 
        </goals> 
        <phase>prepare-package</phase> 
        <configuration> 
         <descriptorRefs> 
          <descriptorRef>jar-with-dependencies</descriptorRef> 
         </descriptorRefs> 
        </configuration> 
       </execution> 
       <execution> 
        <id>assembly2</id> 
        <goals> 
         <goal>assembly</goal> 
        </goals> 
        <phase>package</phase> 
        <configuration> 
         <descriptorRefs> 
          <descriptorRef>jar-with-dependencies</descriptorRef> 
         </descriptorRefs> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 

ない、それはしかし、ご希望の順番で機能するか確認してください。試してみる価値があるかもしれません。

+0

これは私の特定の問題のための良い解決策です。私は、2つの最初の処刑は準備パッケージ段階にあるべきであることを認識しています。しかし、2回以上の処刑が必要な場合はどうすればよいでしょうか?回避策としてフェーズの意味を歪ませたくないです。私が必要とするのは、段階(例:package-step1、package-step2、p​​ackage-step3など)を追加することで、ライフサイクルを簡単に改善することです。たぶん、Mavenはこれをサポートしていないかもしれません。ビルドライフサイクルのオーバーライドを見ていきます。ご回答有難うございます ! – antoine

+0

私は、現在の利用可能な段階がかなり組み込みであると思う。彼らはさまざまなニーズのツールの歴史の中で新しい段階を追加しましたが、あなたの例はかなり洗練されています:) –