gpt4 book ai didi

copy - Gradle - 复制/重命名文件 - 使所有文件的文件大小/字节为 0

转载 作者:行者123 更新时间:2023-12-02 10:38:09 24 4
gpt4 key购买 nike

我正在使用 Gradle 构建来编译 Java。

在构建过程中,我获得了成功的构建可交付成果,但我想添加一些额外的文件,这些文件只是 Gradle 构建所构建的“.war”文件中存在的一些文件的副本或重命名。

下面的代码是我正在使用的。我想做的是:

1. 在 build/tmp/warApplication 文件夹中解压 .war 文件
2. 复制/重命名文件,即 oldname-1.2.3 到 newname-1.2.3
3.将oldname.war.properties文件复制/重命名为newname.war.properties
4.将oldname.jar.properties文件复制/重命名为newname.jar.properties
5. war build/tmp/warApplication 文件夹中的所有数据并创建原始.war 文件(即projectname.war)

问题:
1. unwar 步骤完成后,我在 tmp/warApplication 文件夹下看到,树中的所有文件都具有有效的文件大小。2. warApplication.doLast - 有效,即它不会给出任何错误消息。
3. 完成所有复制/重命名步骤后,我看到 tmp/warApplication 文件夹树或子树级别下的文件大小现在为 0 字节大小。

我错过了什么?如何将大小为 X 字节的文件 A 复制到相同 X 字节的文件 B。

// add a few extra files
warApplication.doLast {
def tempWarDirU = new File("${buildDir}/tmp/warApplication")
tempWarDirU.mkdirs()
ant.unwar(src: "${buildDir}/thidsWar/${thidsProjectName}.war",
dest: "${buildDir}/tmp/warApplication")

println ""
println "--- Inside warApplication - last stage ---"
println ""
copy {
from "${buildDir}/tmp/warApplication"
into "${buildDir}/tmp/warApplication"
rename (/([a-z]+)-([0-9]+\.[0-9]+.+)/, 'newname-$2')
}
copy {
from "${buildDir}/tmp/warApplication/WEB-INF/classes"
into "${buildDir}/tmp/warApplication/WEB-INF/classes"
rename (/([a-z]+)\.war\.([a-z]+)/, 'newname.war.$2')
}
copy {
from "${buildDir}/tmp/warApplication/WEB-INF/classes"
into "${buildDir}/tmp/warApplication/WEB-INF/classes"
rename (/([a-z]+)\.jar\.([a-z]+)/, 'newname.jar.$2')
}

ant.jar ( update: "true", destfile: "${buildDir}/thidsWar/${thidsProjectName}_1.war") {
fileset(dir: "${buildDir}/tmp/warApplication",includes: '*/**')
}
println ""
println ""
}

最佳答案

一个更简单的解决方案是,感谢 Pete N。

task renABCToXYZ {
doLast {
file("ABC").renameTo(file("XYZ"))
}
}

关于copy - Gradle - 复制/重命名文件 - 使所有文件的文件大小/字节为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20809849/

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