我需要将目录列表下的文件复制到目标列表中的相应目录。说我有一个像这样的源目录'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()
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句