Comment appeler un maven mojo à partir de java / scala en utilisant le maven-embedder


Je veux appeler l'aide:effective-pom mojo directement à partir de java/scala.

Est-il un exemple minimal comment configurer maven-runtime et appeler le mojo?

Je suppose qu'un certain contexte est nécessaire avant d'appeler les choses comme supposé dans la réponse à cette question:

Lire POM's avec ses enfants

Par exemple

Http://svn.apache.org/viewvc/maven/plugins/tags/maven-help-plugin-2.1.1/src/main/java/org/apache/maven/plugins/help/EffectivePomMojo.java?view=markup

Plus précisément, le mojo efficace-pom écrit un préfixe et un suffixe laids au xml qui n'est pas nécessaire et je veux travailler directement sur le xml plus tard.

Author: Community, 2012-05-29

2 answers

Hm. Si je vérifie le contenu, il n'a pas de poubelle. La sortie se traduira par un seul fichier. Si vous aimez lire le pom, vous devriez jeter un oeil à aether lib, mais le problème est que vous pouvez lire le pom avec mais vous souhaitez exécuter un mojo à la place qui doit construire un environnement Maven autour duquel est très complexe. Jetez un oeil ici pour avoir une idée de comment il pourrait ressembler.

Après un certain temps, j'ai trouvé , ce qui ressemble plus la chose que vous aimez utiliser.

 0
Author: khmarbaise, 2012-06-04 20:09:36

Utiliser Maven Embedder/MavenCli

Code java

MavenCli cli = new MavenCli();
cli.doMain(new String[]{"help:effective-pom"}, "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>
 0
Author: MariuszS, 2013-11-11 10:53:16