我需要将目录列表下的文件复制到目标列表中的相应目录。假设我有一个源目录列表,例如'A','B','C'
和一个目标目录列表,例如'X','Y','Z'
。我需要做的是将文件A复制到X目录,然后从B复制到Y,将C复制到Z。为此,我创建了gradle任务。但我得到一个错误
task copyDirs( ) {
def targetDirList = ['/target1', '/target2', '/target3'].toArray()
def sourceDirList = ['/source1', '/source2', '/source3'].toArray()
[sourceDirList,targetDirList].transpose().each {
copy{
from it[0].toString()
into it[1].toString()
}
}
}
下面是我尝试执行它时遇到的异常
No signature of method: org.gradle.api.internal.file.copy.CopySpecWrapper_Decorated.getAt() is applicable for argument types: (java.lang.Integer) values: [0]
Possible solutions: getAt(java.lang.String), putAt(java.lang.String, java.lang.Object), wait(), grep(), getClass(), wait(long)
最佳答案
这是因为您使用的it
与复制关闭有关,而不是您要遍历的值。只需命名您的元素:
[sourceDirList,targetDirList].transpose().each { d ->
copy{
from d[0].toString()
into d[1].toString()
}
}
关于gradle - 使用gradle将源目录列表下的文件复制到目标目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36887218/