2013-09-25 58 views
10

Tôi đang cố gắng sao chép một tệp trong dự án đa mô-đun của tôi qua plugin antrun. tập tin có trong thư mục gốc của dự án cha mẹ:Maven-antrun Không có mục tiêu ant nào được xác định - SKIPPED

<plugin>               
<groupId>org.apache.maven.plugins</groupId>      
<artifactId>maven-antrun-plugin</artifactId>     
<version>1.7</version>           
<inherited>false</inherited>         
<executions>             
    <execution>             
     <inherited>false</inherited>       
     <id>copy</id>           
     <goals>             
      <goal>run</goal>         
     </goals>            
     <configuration>           
      <target name="copy and rename file">    
       <copy file="${basedir}/portal-ext.properties" tofile="${liferay.auto.deploy.dir}/../portal-ext.properties" /> 

      </target>           
     </configuration>          
    </execution>            
</executions>             

tôi chạy này qua mvn antrun:run vấn đề là tôi nhận được "Không có mục tiêu kiến ​​được xác định - bỏ qua" trên phụ huynh và trên tất cả các mô-đun. tôi cần nó để chạy chỉ trên cha mẹ và nghĩ rằng <inherited>false</inherited> sẽ giúp đỡ nhưng tôi không. Nhưng tại sao "No ant target defined"?

Trả lời

10
<plugin> 
    <artifactId>maven-antrun-plugin</artifactId> 
    <version>1.7</version> 
    <executions> 
     <execution> 
     <id>ant-execute</id> 
     <configuration> 
      <target> 
      <echo message="plugin classpath: " /> 
      </target> 
     </configuration> 
     <goals> 
      <goal>run</goal> 
     </goals> 
     </execution> 
    </executions> 
    </plugin> 

lệnh: antrun mvn: chạy @ ant-thực

+1

Ngay cả khi điều này có ý nghĩa, không hoạt động đối với tôi , bài đăng này đã cho tôi câu trả lời: http://stackoverflow.com/a/11009854. p.s .: Tôi không thấy bài tiếp theo. – Vielinko

6

antrun:run sẽ chỉ xem xét cấu hình của plugin, không phải cho cấu hình thực thi cụ thể, do đó việc thực hiện bạn chỉ định bị bỏ qua. Với tư cách là trạng thái Run a single Maven plugin execution?, bạn có thể cung cấp cho thực thi của mình một id là default-cli để nó được chọn.

Tuy nhiên, việc thực thi bạn định cấu hình đã có hiệu lực trong suốt vòng đời xây dựng thông thường.

+0

thx tôi không muốn nó chạy trên thường xuyên xây dựng vòng đời. tôi muốn nó chỉ chạy theo yêu cầu. – dermoritz

2

chỉ cần chạy nó như thế này: mvn antrun:[email protected]

+4

Bạn có thể vui lòng thêm giải thích thêm cho câu trả lời của mình không? – Nilambar

+0

Khi bạn có nhiều hơn thì một thực thi trong một plugin, bạn có thể thực hiện việc thực thi bạn muốn bằng cách phát lệnh maven trong quy tắc này: 'mvn : @' –