我正在使用gradle任务,它在文件集合循环中执行命令行:
...
collection.each { file ->
exec {
workingDir = file(props['WORKING_DIR']).getAbsolutePath()
commandLine "java", "-jar", file(props['SIGN_TOOL']).getAbsoluteFile(), file
}
}
...
不幸的是,gradle任务最终会出现此错误:
任务执行失败':signFiles'。
没有方法签名:java.io.File.call()适用于参数类型:(java.lang.String)值:可能 解决方案:wait(),any(),wait(long),each(groovy.lang.Closure), any(groovy.lang.Closure),list()
我该如何解决这个问题?
Thx MVM
答案 0 :(得分:2)
你已经调用了你的循环变量file
,然后它试图将其用于调用file()
...
尝试重命名闭包变量:
collection.each { aFile ->
exec {
workingDir = file(props['WORKING_DIR']).getAbsolutePath()
commandLine "java", "-jar", file(props['SIGN_TOOL']).getAbsoluteFile(), aFile
}
}