gpt4 book ai didi

gradle - gradle exec:如何打印错误输出?

转载 作者:行者123 更新时间:2023-12-03 05:55:03 34 4
gpt4 key购买 nike

Gradle任务:启动服务

task startService(type: Exec) {
standardOutput = new ByteArrayOutputStream()
errorOutput = new ByteArrayOutputStream()

commandLine 'cmd', '/c', 'net', 'start', 'serviceFoo'

doLast {
println standardOutput.toString()
println errorOutput.toString()
}

}

运行 "net start serviceFoo“将在Windows上显示“拒绝访问”消息。
但是 gradle startService,不打印任何消息。

更新

在Windows命令提示符(管理员)上尝试过:
 commandLine 'net', 'start', 'serviceFoo'

错误信息:
* What went wrong:
Execution failed for task ':startService'.
> Process 'command 'net'' finished with non-zero exit value 2

在命令提示符下(管理员):
 net start serviceFoo

成功了

最佳答案

默认情况下,Gradle将在从命令接收到非零结果代码时引发异常并终止。您可以通过设置属性来禁用此功能

ignoreExitValue true

在您的任务中。通常,您也想自己检查一下,例如。
doLast {
if (execResult.getExitValue() != 0) {
...
}
}

关于gradle - gradle exec:如何打印错误输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45396268/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com