草庐IT

exec-maven-plugin

全部标签

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

我需要运行使用golang构建的maven而无需将maven安装到正在运行的系统。通过在go中使用os.exec包,我可以运行任何已在我的PATH变量中定义的程序。但是在PATH变量中设置M2_HOME在这里不是一个选项,我在特定位置提取了maven分布。根据here给出的答案可以通过提供mvn的特定位置来运行maven构建,我如何从go实现相同的目标。提前致谢 最佳答案 正如@putu的评论以及将所需的maven目标一个一个地指定为exe.Command()的单独参数一样,我能够运行maven无需安装maven或在$PATH变量中

go - 将 exec.CommandContext 与 sg_inq sys 命令和超时一起使用永远不会返回

我正在尝试在多路径设备(/dev/mapper/mpatha)上调用sg_inq。sg_inq向特定设备发送iScsi查询并提取一些数据。我正在使用go自己的exec.commandContext超时,如下所示:ctx,cancel:=context.WithTimeout(context.Background(),time.Duration(1000)*time.Millisecond)defercancel()cmd:=exec.CommandContext(ctx,"sg_inq","/dev/mapper/mpatha")err:=cmd.Run()cmd.Stdout=&st

go - DB.Exec args 总是导致我的占位符出错

我有一个SQL脚本,其中包含一个我想从Golang设置的变量。SET@foo_bar_invitation_id=?;SELECT@foo_bar_invitation_id;即我要设置?到“foobar”。我的代码:packagemainimport("io/ioutil""log""database/sql"_"github.com/go-sql-driver/mysql")typehandlerstruct{db*sql.DB}func(hhandler)runsql()(errerror){sqlscript,err:=ioutil.ReadFile("script.sql")

postgresql - 转换 Exec 参数 $2 类型 : invalid character ‘b’ looking for beginning of value

当我尝试用任何字母更新JSONB中的文件时出现错误,但如果我用数字更新相同的文件,它就完美了。sql:转换Exec参数$2类型:寻找值开头的无效字符“b”。插入类型示例:params["imei_json"]=types.JSONText(params["imei"].(string))//UpdateUserInformationfunc(metadata*accountPhoneNumberMetadata)UpdateUserInfo(paramsmap[string]interface{})error{params["imei_json"]=types.JSONText(par

go - 为什么 os/exec.StderrPipe 的编写器在 Start() 中关闭?

谁能帮我理解为什么pw(thewriter)计划于Start()结束?我希望pw与pr(thereader)一起关闭在Wait(). 最佳答案 closeAfterStart和closeAfterwait是io.Closers的两片分别称为insStart和Wait的cmd结构。现在,这是为什么?这两个基本上都是缓冲区(slice),需要写入读出。根据它们当前是否正在使用,它们将被关闭。例如StdInPipe需要先读取再写入,因此pr包含在closeAfterStart中和pw在closeAfterWait.对StdOutPipe执

go - 捕获 exec.Command 的缓冲标准输出输出

我正在尝试捕捉外部程序的输出。示例:#include#include#includeintmain(){inti=0;while(i这是我的main.go:packagemainimport("bufio""io""log""os/exec")funcreecho(closerio.ReadCloser){reader:=bufio.NewReader(closer)for{s,e:=reader.ReadString('\n')ife!=nil{log.Println(e)break}log.Println(s)}}funcmain(){cmd:=exec.Command("./in

go - 执行 psql 命令时 os/exec 上的输出不完整

我目前正在使用os/exec按顺序运行许多psql命令。我的问题是,如果在脚本执行期间出现错误,输出不会显示它。例子:从命令行执行命令文件时,输出是这样的:SETCREATEFUNCTIONpsql:update-14.3.7.1/dml/----------------xxxxxxxx.sql:33:ERROR:nullvalueincolumn"tipoxxxxxxxx"violatesnot-nullconstraintDETALHE:Failingrowcontains(9,0,null,null,null,null,AAAAAAAAA_BBBBBBBBBB_CCCCC_BAN

python - 加速从 Golang 的 exec packaqe 访问 python 程序

我需要有关如何在从Golang调用时加快对python程序的访问的建议。我真的需要快速访问时间(非常低的延迟)。方法一:funcmain(){......cmd=exec.Command("python","test.py")o,err=cmd.CombinedOutput()...如果我的test.py文件是一个基本的打印“HelloWorld”程序,执行时间超过50ms。我假设大部分时间是在内存中加载shell和python。方法二:通过让python启动HTTP服务器,然后给Go代码POST一个HTTP请求并从HTTP服务器(python)获取响应,可以大大加快上述方法。将响应时

go - 从 exec 命令 stdout 读取而不缓冲

我正在通过exec.Command在Go中运行命令并扫描输出。在某些系统上,输出是立即的。但在某些系统上,输出似乎被缓冲了。除非命令产生的数据量足够大,否则我实际上不会收到输出。有没有办法可靠地获得更即时的输出?packagemainimport("fmt""log""os/exec""time")funcmain(){cmd:=exec.Command("udevadm","monitor")stdout,err:=cmd.StdoutPipe()iferr!=nil{log.Fatal(err)}err=cmd.Start()iferr!=nil{log.Fatal(err)}fo

macos - 在 golang 中使用 exec.Command,如何打开一个新终端并执行命令?

当我在终端中直接输入命令时,我能够得到以下命令来打开一个新终端并执行命令,但是当我在go中使用exec.Commmand函数时,我无法让它工作。osascript-e'tellapplication"Terminal"todoscript"echohello"'我认为问题出在双引号和单引号中,但我不确定是什么导致了错误。c:=exec.Command("osascript","-e","'tell","application",`"Terminal"`,"to","do","script",`"echo`,`hello"'`)iferr:=c.Run();err!=nil{fmt.Pr