2013-09-25 22 views
10

sto provando a copiare un file nel mio progetto multi-modulo di maven tramite plug-in antrun. il file è in radice del progetto principale:Maven-antrun Nessun obiettivo della formica definito - 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>             

ho eseguito questo tramite mvn antrun:run il problema è che ottengo "Nessun obiettivo definito formica - saltato" il genitore e su ogni modulo. ne ho bisogno per funzionare solo su genitore e ho pensato che <inherited>false</inherited> sarebbe stato d'aiuto, ma io no. Ma perché "Nessun obiettivo formativo definito"?

risposta

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> 

comando: antrun mvn: correre @ ant-eseguire

+1

Anche se questo ha senso, non funziona per me , questo post mi ha dato la risposta: http://stackoverflow.com/a/11009854. p.s .: non ho visto il prossimo post. – Vielinko

6

antrun:run considererà solo la configurazione del plugin, non quella per un'esecuzione specifica, quindi l'esecuzione specificata viene ignorata. Come per gli stati Run a single Maven plugin execution?, puoi dare alla tua esecuzione un ID di default-cli per ottenerlo.

Tuttavia, l'esecuzione configurata dovrebbe già avere effetto durante il normale ciclo di vita della build.

+0

thx non voglio che venga eseguito il normale ciclo di vita del build. voglio che funzioni solo su richiesta. – dermoritz

2

basta eseguirlo in questo modo: mvn antrun:[email protected]

+4

Puoi aggiungere ulteriori spiegazioni alla tua risposta? – Nilambar

+0

Quando si ha più di una esecuzione in un plug-in, è possibile eseguire l'esecuzione desiderata emettendo il comando maven in questa regola: 'mvn : @' –

Problemi correlati