我想直接从 java/scala 调用 help:effective-pom mojo。
是否有一个最小的示例如何设置 maven-runtime 并调用 mojo?
我假设在调用这个问题的答案中假设的东西之前需要一些上下文:
例如
具体来说,有效的 pom mojo 向 xml 写入了一些不需要的丑陋前缀和后缀,我想稍后直接在 xml 上工作。
我想直接从 java/scala 调用 help:effective-pom mojo。
是否有一个最小的示例如何设置 maven-runtime 并调用 mojo?
我假设在调用这个问题的答案中假设的东西之前需要一些上下文:
例如
具体来说,有效的 pom mojo 向 xml 写入了一些不需要的丑陋前缀和后缀,我想稍后直接在 xml 上工作。
嗯。如果我检查内容,它没有垃圾。输出将生成单个文件。如果你喜欢阅读 pom,你应该看一下aether lib,但问题是可以用它来阅读 pom 但你想执行一个 mojo 而不是需要构建一个非常复杂的 Maven 环境。看看这里,了解它的外观。
一段时间后,我发现它看起来更像你喜欢使用的东西。
使用Maven 嵌入器 /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>