Is it possible to call Maven goals from Java, for instance, can I do the equivalent of:
mvn clean package
from a Java class?
thanks, Nick
Is it possible to call Maven goals from Java, for instance, can I do the equivalent of:
mvn clean package
from a Java class?
thanks, Nick
This is easy :)
Java code
MavenCli cli = new MavenCli();
cli.doMain(new String[]{"clean", "package"}, "project_dir", System.out, System.out);
Project configuration:
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-embedder</artifactId>
<version>3.1.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-connector-wagon</artifactId>
<version>0.9.0.M2</version>
</dependency>
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-http-lightweight</artifactId>
<version>2.5</version>
</dependency>
</dependencies>
Fully working example: https://github.com/mariuszs/maven-cli-example