2010-04-12 45 views
6

Tôi đang cố gắng thực thi với Maven một số thử nghiệm được viết bằng cách sử dụng tác vụ Ant. Tôi đã tạo các tệp cần thiết để nhập nhiệm vụ vào Maven, nhưng tôi không thể thực thi chúng.Thực hiện tác vụ Ant với Maven

POM của tôi được định nghĩa theo cách này:

<build> 
    <plugins> 
     <plugin> 
     <artifactId>maven-ant-plugin</artifactId> 
     <version>2.1</version> 
     <executions> 
      <execution> 
      <phase>generate-sources</phase> 
      <configuration> 
       <tasks> 
       <echo message="Hello, maven"/> 
       </tasks> 
      </configuration> 
      <goals> 
       <goal>run</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    </build> 

tôi cố gắng thực hiện thông điệp đó, nhưng tôi nhận được một lỗi với chạy:

[ERROR] BUILD ERROR 
[INFO] ------------------------------------------------------------------------ 
[INFO] 'run' was specified in an execution, but not found in the plugin 

Nhưng, nếu tôi chạy: "mvn antrun: chạy ", tôi biết rằng điều này không thể chạy nhiệm vụ.

Nếu tôi có các mục tiêu khác nhau, làm cách nào để gọi chúng từ Maven? Tôi đã pom.xml và build.xml với các tác vụ kiến.

Cảm ơn.

Gonzalo

Trả lời

12

Để chạy nhiệm vụ Ant từ bên trong Maven 2, bạn cần phải sử dụng Maven AntRun Plugin:

<build> 
    <plugins> 
    <plugin> 
     <artifactId>maven-antrun-plugin</artifactId> 
     <version>1.3</version> 
     <executions> 
     <execution> 
      <phase>generate-sources</phase> 
      <configuration> 
      <tasks> 
       <echo message="Hello, maven"/> 
      </tasks> 
      </configuration> 
      <goals> 
      <goal>run</goal> 
      </goals> 
     </execution> 
     </executions> 
    </plugin> 
    </plugins> 
</build> 

Các Maven Ant Plugin được cái gì khác, nó được sử dụng để tạo xây dựng các file cho Ant từ POM .

+0

Vâng, tôi không hiểu điều đó, cảm ơn. – Gonzalo

2

Hãy thử cái này..Đây sẽ ở trong giai đoạn xác thực.

 <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-antrun-plugin</artifactId> 
       <version>1.1</version> 
       <executions> 
        <execution> 
         <phase>validate</phase> 
         <goals> 
          <goal>run</goal> 
         </goals> 
         <configuration> 
          <tasks> 

           <echo message="Hello world" /> 
           <echo message="${env.M2_HOME}" ></echo> 

          </tasks> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
Các vấn đề liên quan