2013-09-25 41 views
10

我試圖文件在我的Maven多模塊項目通過antrun插件複製。該文件是在父項目的根:Maven的antrun沒有定義Ant目標 - 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>             

我通過mvn antrun:run運行這個問題是我得到「沒有螞蟻的目標定義 - SKIPPED」對父母和每個模塊上。我需要它只能在父運行,並認爲<inherited>false</inherited>會幫助,但我沒有。但爲什麼「沒有定義螞蟻目標」?

回答

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> 

命令:MVN antrun:運行@螞蟻執行

+1

即使這有意義,不爲我工作,這篇文章給了我答案:http://stackoverflow.com/a/11009854。頁數:我沒有看到下一篇文章。 – Vielinko

6

antrun:run將只考慮該插件的配置,而不是特定的執行,所以您指定的執行被忽略。作爲Run a single Maven plugin execution?狀態,你可以給你的執行default-cli一個id把它撿起。

但是,您配置的執行應該已經被正規構建生命週期過程中發生作用。

+0

THX我不希望它在普通構建生命週期運行。我希望它只能按需運行。 – dermoritz

2

只要運行它是這樣的:mvn antrun:[email protected]

+4

你能否爲你的答案添加更多解釋? 'MVN : – Nilambar

+0

當你在一個插件一個以上的執行,您可以通過此規則發出行家命令執行你想執行 @' –

相關問題