2013-09-25 13 views
10

Ich versuche eine Datei in meinem Maven-Multimodul-Projekt über ein antrun-Plugin zu kopieren. die Datei im Stammverzeichnis übergeordnete Projekt:Maven-antrun Kein Ameisen-Ziel definiert - 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>             

i dies laufen über mvn antrun:run das Problem ist, ich „No ant Ziel definiert - SKIPPED“ erhalten auf Eltern und auf jedem Modul. Ich brauche es nur auf Eltern und dachte, <inherited>false</inherited> würde helfen, aber ich nicht. Aber warum "Kein Ameisen-Ziel" definiert?

Antwort

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> 

Befehl: mvn antrun: run @

+1

Auch wenn dies sinnvoll ist, funktioniert nicht für mich , dieser Beitrag gab mir die Antwort: http://StackOverflow.com/a/11009854. PS .: Ich habe den nächsten Post nicht gesehen. – Vielinko

6

antrun:run berücksichtigt nur die Konfiguration des Plugins, nicht die für eine bestimmte Ausführung, daher wird die von Ihnen angegebene Ausführung ignoriert. Wie in Run a single Maven plugin execution? angegeben, können Sie Ihrer Ausführung eine ID von default-cli geben, damit sie abgeholt wird.

Die Ausführung, die Sie konfigurieren, sollte jedoch bereits während des regulären Buildlebenszyklus wirksam werden.

+0

thx Ameisen ausführen ich will es nicht auf den regulären Build Lebenszyklus auszuführen. Ich möchte, dass es nur auf Nachfrage läuft. – dermoritz

2

nur es wie folgt aus: mvn antrun:[email protected]

+4

Können Sie bitte mehr Erklärung zu Ihrer Antwort hinzufügen? – Nilambar

+0

Wenn Sie mehr als eine Ausführung in einem Plugin haben, können Sie die Ausführung ausführen, indem Sie den Befehl maven in dieser Regel ausgeben: 'mvn : @' –