以下来自grails“Scripts”dir中指定目标的蚂蚁片段,创建一个带有所有类的校验和,因此可以在目标服务器上进行检查。Ant构建任务:如何使用grails更改ant命令的basedir(例如,如何做“cd”)2.5
蚂蚁的输出是这样的文件:
c9b1c71b31e53e99ff31b4be0a1284558aa019ec target/classes/bo/ApiRequestFilters$_closure1.class
ff936fddc1b99ba323493b131d271ca4feb0f5dd target/classes/bo/ApiRequestFilters.class
df7a12fe1182b5fc10177a2559a3a0cbb0709e29 target/classes/com/xxx/yyy/apiConstants.class
的问题是文件路径中的字“目标”。当应用程序部署到webapp下的tomcat时,没有目标。
这怎么可以避免?例如。如果ant.concat函数使用了一个basedir:“target”,如果您可以执行ant.cd(“target”)或类似的命令,它将解决问题,或者如果您可以指定每个目标的basedir,但这似乎不可能?
来源:
ant.checksum(fileext:".sha1", algorithm: "SHA", forceoverwrite: "yes", pattern: "{0} {3}") {
fileset(dir: "target/classes") {
include(name:"**/*.class")
}
}
ant.concat(destfile:"target/classes.sha1") {
fileset(dir: "target/classes") {
include(name:"**/*.sha1")
}
}
我发现了一个哈克的方式 - 删除 “目标/” 从SHA1文件中使用后:
ant.replace(file:"target/classes.sha1", token:" target/", value: " ")
有没有更好的办法?