gpt4 book ai didi

gradle - Gradle:在WAR创建中用资源替换源文件

转载 作者:行者123 更新时间:2023-12-03 06:04:28 27 4
gpt4 key购买 nike

在我的Gradle WAR构建中,我试图用来自外部资源的较新版本替换两个.js文件。

如果文件较新,我想替换JS文件夹中的“基本”文件:

task downloadJs {
ant.mkdir(dir:"${buildDir}/js/")
ant.get(src:'http://external.url/js/file1.js', dest:"${buildDir}/js/file1.js", usetimestamp: true, ignoreerrors: true)
ant.get(src:'http://external.url/js/file2.js', dest:"${buildDir}/js/file2.js", usetimestamp: true, ignoreerrors: true)
}

war {
dependsOn donwloadJs

from("${buildDir}/js") {
include '*'
into('js')
}
}

但是此配置在 war 中会创建重复的.js文件。
我不想删除原始文件,以免下载失败时没有文件。

我该如何告知War Copy配置覆盖文件? duplicatesStrategy似乎不起作用,它使我失败或留下重复项,但不能覆盖。

最佳答案

好吧,我自己找到了一种方法:

war {
dependsOn downloadJs

from("${buildDir}/js") {
include '*'
into('js')
}

exclude {
it.path.startsWith("js") && file("${buildDir}/js/${it.name}").exists()
}
}

关键是让附加文件复制新文件,并根据其他规则排除原始文件,而仅排除已下载的文件,并检查替换文件夹中是否存在相同文件

有人用更清洁的方式吗?

关于gradle - Gradle:在WAR创建中用资源替换源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39576573/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com