2011-06-07 24 views
10

Estoy usando Maven AntRun plugin 1.6 y de su ejemplo no puedo codificar la siguiente tarea ant para ser ejecutada.Maven Antrun No ejecutando tareas

Ejemplo url: http://maven.apache.org/plugins/maven-antrun-plugin/examples/classpaths.html

que acaba de obtener el siguiente mensaje cuando ejecuto mvn antRun: plazo. Sin objetivo específico definido - OMITIDO

¿Qué estoy haciendo mal?

Aquí es mi POM:

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-antrun-plugin</artifactId> 
      <version>1.6</version> 
      <executions> 
       <execution> 
        <id>compile</id> 
        <phase>compile</phase> 
        <configuration> 
         <target> 
          <property name="compile_classpath" refid="maven.compile.classpath" /> 
          <property name="runtime_classpath" refid="maven.runtime.classpath" /> 
          <property name="test_classpath" refid="maven.test.classpath" /> 
          <property name="plugin_classpath" refid="maven.plugin.classpath" /> 

          <echo message="compile classpath: ${compile_classpath}" /> 
          <echo message="runtime classpath: ${runtime_classpath}" /> 
          <echo message="test classpath: ${test_classpath}" /> 
          <echo message="plugin classpath: ${plugin_classpath}" /> 
         </target> 
        </configuration> 
        <goals> 
         <goal>run</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

Respuesta

7

Puesto que usted ha configurado el plugin antRun experto en su pom.xml, sólo tiene que llamar a la meta del ciclo de vida configurado para el plugin. En este caso

mvn compile

Esto hacer lo necesario.

+0

Gracias! Esto fue un malentendido sobre cómo llamar al pom. –

21

tratar esta nota

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-antrun-plugin</artifactId> 
      <version>1.7</version> 
      <executions> 
       <execution> 
        <id>default-cli</id> 
        <configuration> 
         <target> 
          <property name="compile_classpath" refid="maven.compile.classpath" /> 
          <property name="runtime_classpath" refid="maven.runtime.classpath" /> 
          <property name="test_classpath" refid="maven.test.classpath" /> 
          <property name="plugin_classpath" refid="maven.plugin.classpath" /> 

          <echo message="compile classpath: ${compile_classpath}" /> 
          <echo message="runtime classpath: ${runtime_classpath}" /> 
          <echo message="test classpath: ${test_classpath}" /> 
          <echo message="plugin classpath: ${plugin_classpath}" /> 
         </target> 
        </configuration> 
        <goals> 
         <goal>run</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 

el id

<id>default-cli</id> 

y ejecutar el comando

mvn antrun:run 

razón para hacerlo de esta manera: si en realidad no quieren " compilar ", ejecutar" mvn compilar "para ejecutar otra cosa podría ser contraproducente.

+0

algunas horas después de muchos Google, esta publicación me salvó el día. gracias. Alguien sabe por qué usar antrun: run @ custom_id no funciona? '[ERROR] No se pudo encontrar el objetivo 'run @ copy'' <- en mi caso, custom_id = copy – Vielinko

+0

La característica @ se implementó en Maven 3.3.1. Probablemente estés ejecutando una versión anterior. Ver https://issues.apache.org/jira/browse/MNG-5768 – TikiTavi

Cuestiones relacionadas