我有一个gradle项目,它构建一个war文件,并包含一个清单:
war {
archiveName 'archive.war'
manifest {
attributes("Implementation-Title": project.name, "Implementation-Version": version, "Implementation-Timestamp": new Date())
}
}
这很好,但是如果我运行发布版本(使用gradle-release插件https://github.com/townsfolk/gradle-release)来更新项目版本,那么使用旧版本号而不是新版本号创建war文件
我可能错了,但我怀疑这种情况正在发生,因为清单代码在配置阶段而不是执行阶段运行。解决这个问题的最佳方法是什么?
答案 0 :(得分:9)
在“doFirst”中包装清单部分修复了它。使用“doLast”导致创建一个空的清单文件。
工作代码:
war {
doFirst {
manifest {
attributes("Implementation-Title": project.name, "Implementation-Version": version, "Implementation-Timestamp": new Date())
}
}
archiveName 'infoserverws.war'
}