You've called your loop var file
and then it's trying to use that for the call to file()
...
Try renaming your closure variable:
collection.each { aFile ->
exec {
workingDir = file(props['WORKING_DIR']).getAbsolutePath()
commandLine "java", "-jar", file(props['SIGN_TOOL']).getAbsoluteFile(), aFile
}
}