我想直接从java / scala中调用help:effective-pom mojo。
是否有一个最小的例子如何设置maven-runtime并调用mojo?
我认为在调用这个问题的答案之前需要一些上下文:
Reading POM's with its children
e.g。
具体来说,有效-pom mojo为xml写了一些丑陋的前缀和后缀,这是不需要的,我想稍后直接在xml上工作。
答案 0 :(得分:0)
嗯。如果我检查内容,它没有垃圾。输出将生成一个文件。如果你想阅读pom,你应该看看aether lib,但问题是可以用它读取pom但你想要执行一个mojo而不是需要构建一个Maven环境,周围环境非常复杂。看看here to get an impression how it could look like。
过了一段时间,我发现了this which looks more你想要使用的东西。
答案 1 :(得分:0)
使用Maven Embedder / MavenCli
MavenCli cli = new MavenCli();
cli.doMain(new String[]{"help:effective-pom"}, "project_dir", System.out, System.out);
<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>