Estoy tratando de hacer un par de tareas con el complemento maven exec. Uno es ejecutar un script para generar algunos datos externos que usará la aplicación. El segundo es ejecutar un trozo de código Java para hacer algún trabajo de conveniencia durante la fase de compilación.¿Puede definir tanto un objetivo de exec como de java para el complemento maven exec?
<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>
Pero cuando corro:
mvn clean package exec:exec
me sale el error:
[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 error similar diciendo que el parámetro 'MainClass' o no es válido.
Gracias por señalar que no funciona para decir 'mvn exec: exec' - esto no fue evidente para mí incluso después de leer la documentación, así como algunas otras respuestas en SO! –