Je veux exécuter la commande Maven à partir de Java pour le développement d'un plugin. J'ai essayé maven-embedder
mais il semble qu'il ne soit plus pris en charge. Quelqu'un est-il au courant d'un autre outil qui peut être utilisé ?
Réponses
Trop de publicités?
user3254289
Points
611
Une API d'invocation simple : maven-invoker.
Documentation du projet : http://maven.apache.org/shared/maven-invoker/
Utilisation : http://maven.apache.org/shared/maven-invoker/usage.html
InvocationRequest request = new DefaultInvocationRequest();
request.setPomFile( new File( "/path/to/pom.xml" ) );
request.setGoals( Arrays.asList( "clean", "install" ) );
Invoker invoker = new DefaultInvoker();
invoker.execute( request );
MariuszS
Points
7842
Utiliser Maven Embedder
Maven embedder est toujours pris en charge et facile à configurer, c'est donc une meilleure option pour vous.
Code Java
MavenCli cli = new MavenCli();
cli.doMain(new String[]{"clean", "install"}, "project_dir", System.out, System.out);
Configuration du projet
<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>
Exemple entièrement fonctionnel : https://github.com/mariuszs/maven-cli-example