在Gradle的Copy任务中如何获取文件的绝对路径?
Gradle Copy任务获取源文件绝对路径方案
你在eachFile闭包中拿到的file参数是FileCopyDetails类型实例,不是普通的Java File对象,要获取源文件的绝对路径,调用它的file属性拿到对应源文件实例后,再调用absolutePath属性即可。
修改后的代码示例:
[...] from ("some/source/") { include "*.*" into "some/destination" eachFile { file -> logger.info("Copied ${file.file.absolutePath} -> ${file.path}" ) } }
相关常用属性说明:
file.sourcePath:仅返回源文件相对于from配置目录的相对路径,所以你之前只能获取到文件名file.file.absolutePath:源文件在当前系统中的完整绝对路径file.path:目标文件相对于into配置目录的相对路径,如需获取目标文件的绝对路径,可以通过new File(destinationDir, file.path).absolutePath实现
内容的提问来源于stack exchange,提问作者AndreasInfo
相关产品推荐
相关产品推荐

