gradle拷贝静态资源文件_如何将文件复制到Gradle中的平面目录中

我正在尝试编写Gradle任务,将特定文件从深树复制到平面文件夹中.

第一次尝试:

task exportProperties << {

copy {

from "."

into "c:/temp/properties"

include "**/src/main/resources/i18n/*.properties"

}

}

这会复制正确的文件,但不会使结构变平,所以我最终得到了原始项目中的每个文件夹,其中大多数都是空的.

第二次尝试,基于我看到的here和here的答案:

task exportProperties << {

copy {

from fileTree(".").files

into "c:/temp/properties"

include "**/src/main/resources/i18n/*.properties"

}

}

这次,它不会复制任何东西.

第三次尝试:

task exportProperties << {

copy {

from fileTree(".").files

into "c:/temp/properties"

include "*.properties"

}

}

几乎可以工作,除了它只是复制每个* .properties文件,当我只想要特定路径中的文件时.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你好!针对你的问题,我可以提供以下的解决方案: 首先,需要确定你的Gradle Copy任务是否正确配置。你可以检查以下几个方面: 1. 你的Copy任务是否正确指定了源文件和目标文件路径。例如,你需要通过类似下面的代码指定源文件和目标文件路径: ``` task copyResources(type: Copy) { from 'src/main/resources' into 'build/resources/main' } ``` 这里的 `from` 表示源文件路径,`into` 表示目标文件路径。 2. 你的Copy任务是否在正确的任务之前运行。例如,如果你希望在编译Java代码之前拷贝静态资源文件,你需要将Copy任务添加到Java编译任务之前。例如: ``` tasks.compileJava.dependsOn copyResources ``` 这样,每次执行 `compileJava` 任务时,Gradle会先执行 `copyResources` 任务,然后再编译Java代码。 如果以上两个方面都已经检查过了,但Copy任务依然无法复制文件,那么你可以考虑以下几种可能的原因: 1. 源文件路径错误。你需要确保 `from` 指定的路径是正确的,并且源文件确实存在于该路径下。 2. 目标文件路径错误。你需要确保 `into` 指定的路径是正确的,并且该路径存在于你的项目。 3. Copy任务的执行条件不满足。例如,你可能在执行Copy任务之前需要创建目标文件夹,否则Copy任务无法成功执行。你可以考虑添加一个 `doLast` 闭包,在任务执行完成后创建目标文件夹。 希望以上解决方案能够帮助你解决问题!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值