2012-08-16 9 views
5

Ich versuche, ein paar Aufgaben mit dem Maven Exec Plugin zu tun. Eine besteht darin, ein Skript auszuführen, um einige externe Daten zu generieren, die von der App verwendet werden. Die zweite besteht darin, einen Teil des Java-Codes auszuführen, um während der Kompilierungsphase etwas Arbeit zu leisten.Kannst du sowohl ein exec- als auch ein java-Ziel für das maven exec-Plugin definieren?

<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> 

Aber wenn ich laufen:

mvn clean package exec:exec 

ich den Fehler:

[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] 

Oder eine ähnliche Fehlermeldung, um den Parameter 'Mainclass' fehlt oder ungültig ist.

Antwort

13

Es scheint, dass das Problem, in das ich geriet, das Plugin direkt aufrufen würde.

Das Plugin durch Aufruf der Phase, die gebunden ist, hat es funktioniert.

mvn clean generate-sources package 
+1

Dank für den Hinweis auf, dass es nicht 'mvn exec zu sagen, funktioniert: exec' - das war nicht offensichtlich für mich auch nach über SO in der Dokumentation sowie einige andere Antworten zu lesen! –