gpt4 book ai didi

maven - 如何从 go lang 代码运行 maven 构建

转载 作者:数据小太阳 更新时间:2023-10-29 03:24:01 25 4
gpt4 key购买 nike

我需要运行使用 go lang 构建的 maven 而无需将 maven 安装到正在运行的系统。通过在 go 中使用 os.exec 包,我可以运行任何已在我的 PATH 变量中定义的程序。但是在 PATH 变量中设置 M2_HOME 在这里不是一个选项,我在特定位置提取了 maven 分布。根据here给出的答案可以通过提供 mvn 的特定位置来运行 maven 构建,我如何从 go 实现相同的目标。
提前致谢

最佳答案

正如@putu 的评论以及将所需的 maven 目标一个一个地指定为 exe.Command() 的单独参数一样,我能够运行 maven 无需安装 maven 或在 $PATH 变量中设置 M2_HOME 即可构建。以下是任何试图实现相同目标的人的代码片段。

// Use os package to run the maven build using location where maven(headless) resides
func updateDistribution() error {
command := exec.Command("apache-maven-3.5.2/bin/mvn", "clean", "install")
command.Dir = "."
output, err := command.Output()
if err != nil {
return err
}
fmt.Printf("%s", output)
return nil
}

关于maven - 如何从 go lang 代码运行 maven 构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47173361/

25 4 0
文章推荐: sql - 在 SQL 查询之间获取多个日期范围并相应地添加数据
文章推荐: c# - 使用属性防止在 ASP.NET MVC 中缓存特定操作
文章推荐: jquery - 遍历