Maven Embedder:如何添加命令选项

Maven Embedder: how to add command option

我正在使用 Maven Embedder 以下:

MavenCli cli = new MavenCli();
int result = cli.doMain(new String[] { "process-resources" }, "tmp/projectdir", System.out, System.err);

这有效,等同于 运行 命令行命令

mvn process-resources

在目录中

tmp/projectdir

但是,我需要为 Maven 指定一个选项,以便 Maven Embedder 执行等效于命令行命令

mvn -Dstage=local process-resources

如何做到这一点?

-Dstage=local 是一个系统变量,只需将其作为参数参数提供给 doMain():

MavenCli cli = new MavenCli();
int result = cli.doMain(new String[] { "-Dstage=local", "process-resources" }, "tmp/projectdir", System.out, System.err);