2009-05-26 18 views
8

'mvn antrun:run'を実行すると、私のタスクは実行されません。エコータスクはありますが、出力は表示されません。タスクがバインドされているフェーズを実行すると、それらは実行されます。maven、ant plugin、antrun:run

コマンドラインからタスクを具体的に実行するにはどうすればよいですか?このようなものを想定し

答えて

7

は、あなたがあなたのantスクリプトの実行を持っているphaseを変更することができ、あなたのコンソール

[INFO] [antrun:run {execution: default}] 
[INFO] Executing tasks 
    [echo] Hello, maven 
[INFO] Executed tasks 

の上、下記になりますmvn packageを実行すると、あなたのpom.xml

<build> 
    <plugins> 
     <plugin> 
      <artifactId>maven-antrun-plugin</artifactId> 
      <executions> 
      <execution> 
       <phase>package</phase><!--Change this to control when it runs --> 
       <configuration> 
       <tasks> 
      <echo message="Hello, maven"/> 
       </tasks> 
       </configuration> 
       <goals> 
       <goal>run</goal><!-- this is to call antrun:run --> 
       </goals> 
      </execution> 
      </executions> 
     </plugin> 
    </plugins> 
    </build> 

に追加されますあなたが必要とするあらゆる点で。

+0

ありがとうございました。私は、この特定のantタスクを使用して(AdminClientと呼ばれるプログラムを使用して)軸webserviceを配備しています。私はコンテナ(この場合はjetty:run)が起動した後にしか展開できません。どの段階が適切でしょうか? – vpalle

+0

Jetty:実行前の統合テストで実行されている可能性があります。フェーズを統合後のテストに変更します。 jettyとantタスクの両方を実行するための "mvn verify"の実行。 – sal