【问题标题】:Is it possible to programmatically call a maven build?是否可以以编程方式调用 Maven 构建?
【发布时间】:2020-07-17 16:13:54
【问题描述】:

我有一个项目正在调用 maven 插件 (open-api-generator) 以基于 api 规范进行构建。我不想分享这个项目,但我想创建一个 jar,它使用内部 maven pom.xml 在某种程度上模拟“mvn compile”。

这可能吗?

【问题讨论】:

标签: java maven openapi-generator


【解决方案1】:

代码:

MavenCli obj = new MavenCli();
obj.doMain(new String[]{"compile"}, "project_dir", System.out, System.out);
P

添加:

  1. maven-embedder
  2. aether-connector-wagon 和
  3. wagon-http-轻量级

你的 pom.xml 中的依赖项。

【讨论】:

  • 这似乎是我正在寻找的,我会尝试并标记为正确,如果它有效!但是如何让它指向 jar 本身内部的文件呢?
  • project_dir 替换为文件的路径。有点像“/src/main/test/MavenFile”。
【解决方案2】:

可以通过编程方式调用 Shell 命令。例如:

ProcessBuilder processBuilder = new ProcessBuilder();
processBuilder.command("bash", "-c", "mvn compile /foo/bar");

【讨论】:

    猜你喜欢
    • 2022-01-22
    • 2011-08-22
    • 2018-09-01
    • 1970-01-01
    • 2012-02-26
    • 1970-01-01
    • 1970-01-01
    • 2011-06-16
    • 1970-01-01
    相关资源
    最近更新 更多