2012-08-16 8 views
5

Sto provando a fare un paio di attività con il plugin exec di maven. Uno è quello di eseguire uno script per generare alcuni dati esterni che l'app utilizzerà. Il secondo è eseguire un blocco di codice java per fare un po 'di comodità durante la fase di compilazione.Puoi definire un obiettivo exec e java per il plugin exec di maven?

<plugin> 
<groupId>org.codehaus.mojo</groupId> 
<artifactId>exec-maven-plugin</artifactId> 
<version>1.2.1</version> 
<executions> 
    <execution> 
     <id>data_for_app</id> 
     <phase>generate-sources</phase> 
     <goals> 
      <goal>exec</goal> 
     </goals> 
     <configuration> 
      <executable>${basedir}/scripts/getappdata.sh</executable> 
      <arguments> 
       <argument>${basedir}/src/main/webapp/WEB-INF/xml/appdatahere/</argument> 
      </arguments> 
     </configuration> 
    </execution> 
    <execution> 
     <id>do_convenience</id> 
     <phase>compile</phase> 
     <goals> 
      <goal>java</goal> 
     </goals> 
     <configuration> 
      <mainClass>com.example.DoConvenienceStuff</mainClass> 
      <arguments> 
       <argument>https://example.com/data</argument> 
      </arguments> 
     </configuration> 
    </execution> 
</executions> 
</plugin> 

Ma quando ho eseguito:

mvn clean package exec:exec 

ottengo l'errore:

[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (default-cli) on project jss: The parameters 'executable' for goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec are missing or invalid -> [Help 1] 

o un errore simile dicendo che il parametro 'mainClass' è mancante o non valido.

risposta

13

Sembra che il problema che stavo incontrando stava chiamando direttamente il plugin.

exec:exec 

Colpire il plugin chiamando la fase è destinata a fatta funzionare.

mvn clean generate-sources package 
+1

Grazie per aver ricordato che non funziona per dire 'mvn exec: exec' - questo non era ovvio per me, anche dopo aver letto la documentazione, così come alcune altre risposte su SO! –

Problemi correlati