gpt4 book ai didi

gradle - 在 Exec 类型的 gradle 任务中,为什么命令行和可执行文件的行为不同?

转载 作者:行者123 更新时间:2023-12-02 00:11:06 25 4
gpt4 key购买 nike

有谁知道为什么在 Exec 类型的任务中commandlineexecutable在继承环境变量方面表现不同?

例如,我无法运行此任务,因为 Gradle 无法从我的环境中找到 ruby​​:

task checkRubyVersionCommandLine(type: Exec) {
commandLine 'ruby -v'
}

但这工作正常:

task checkRubyVersionExecute(type: Exec) {
executable = 'ruby'
args = ['-v']
}

什么是commandLine for,或者我怎样才能让它从执行它的 shell 中获取变量?为什么 executable只是工作?

最佳答案

使用commandLine时,需要用空格分割字符串,否则可执行文件将变为ruby -v,而不是ruby

所以试试这个:

task checkRubyVersionExecute(type: Exec) {
commandLine 'ruby', '-v'
}

查看代码here看看 Exec 任务如何处理这个问题。

关于gradle - 在 Exec 类型的 gradle 任务中,为什么命令行和可执行文件的行为不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15776431/

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