Welcome to Software Development on Codidact!
Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.
Maven exec:exec fails to see executables
I am stumped at Maven exec plugin.
Running mvn exec:exec -Dexec.executable="curl"
(or "echo") works. But when running mvn exec:exec
or mvn exec:exec@b
(or @a
) it fails saying
The parameter 'executable' is missing or invalid
My POM's relevant part:
<plugin>
<artifactId>maven-exec-plugin</artifactId>
<version>${version-exec-maven-plugin}</version>
<configuration>
<executable>curl</executable>
</configuration>
<executions>
<execution>
<id>a</id>
<phase>compile</phase>
<goals><goal>exec</goal></goals>
</execution>
<execution>
<id>b</id>
<goals><goal>exec</goal></goals>
<configuration>
<executable>curl</executable>
</configuration>
</execution>
</executions>
</plugin>
1 answer
The groupId
and artifactId
are wrong (this plugin is not from Maven but from codehaus). Additionally, the configuration is not applied to the relevant execution. If you reshuffle the part like so…
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${version-exec-maven-plugin}</version>
<executions>
<execution>
<id>a</id>
<phase>compile</phase>
<goals><goal>exec</goal></goals>
<configuration>
<executable>curl</executable>
</configuration>
</execution>
<execution>
<id>b</id>
<goals><goal>exec</goal></goals>
<configuration>
<executable>curl</executable>
</configuration>
</execution>
</executions>
</plugin>
… then it should work if invoked as mvn exec:exec@a
.
Running just mvn exec:exec
with no execution ID specified and nothing else… probably works in some cases but is not something you should do, as you could accidentally trigger an execution buried in a parent POM somewhere or something.
0 comment threads