因此,这可行:
war {
filesMatching('**/index.jsp') {
filter(org.apache.tools.ant.filters.ReplaceTokens, tokens: [
'version' : version,
])
}
}
但这不是:
def webappFilter = project.copySpec {
filesMatching('**/index.jsp') {
filter(org.apache.tools.ant.filters.ReplaceTokens, tokens: [
'version' : version,
])
}
}
war {
with webappFilter
}
显然,我做错了,但我无法理解我到底缺少了什么。有人可以帮忙吗?
最佳答案
我在不使用copySpecs Gradle时遇到了类似的问题。在尝试了多种变体之后,它仅在将copy闭包添加到copySpec时才对我有用。
def cs = copySpec {
copy {
from("readme.txt")
into("somefolder")
filter{String line -> line.replaceAll('a','b')}
}
}
task mycopy (type: Copy) {
with cs
}
希望这可以帮助。
关于gradle - 如何使用包含文件的copySpec使用Gradle构建War文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30250923/