Gradle 更改生成的war文件的名称并复制war文件

Gradle 更改生成的war文件的名称并复制war文件,gradle,Gradle,我想在war任务输出部署到存储库之前设置其文件名。 e、 g.项目名称为abc,最初会导致 abc-1.0.0-SNAPSHOT.war 但我希望生成两个具有相同内容的war文件: def-1.0.0-SNAPSHOT.war ghi-1.0.0-SNAPSHOT.war 在build.gradle中,您可以设置存档名称: war.archiveName "YOUR_SPECIAL_NAME.war" 对我有用的另一个,例如: war { baseName = 'service'

我想在war任务输出部署到存储库之前设置其文件名。 e、 g.项目名称为abc,最初会导致 abc-1.0.0-SNAPSHOT.war

但我希望生成两个具有相同内容的war文件:

  • def-1.0.0-SNAPSHOT.war
  • ghi-1.0.0-SNAPSHOT.war

在build.gradle中,您可以设置存档名称:

war.archiveName "YOUR_SPECIAL_NAME.war"


对我有用的另一个,例如:

war {
    baseName = 'service'
    version = '0.0.1-SNAPSHOT-' + System.currentTimeMillis();
}
还有一个解决方案:

war {
    baseName = 'name'
    archiveName = "${baseName}.${extension}"
}

对于gradle版本5和更高版本,它们具有不推荐使用的属性“baseName”和“archiveName”

因此,您可以改用“archivesBaseName”

war {
    archivesBaseName = 'name'
}  

在构建过程之后,将war文件复制为另一个文件不是很简单吗?我认为这是可能的,但是应该有一种更优雅的方法来重命名输出文件。此外,原始war文件不应部署到存储库。我正在使用它,但它总是以小写字母生成war文件(例如
root.war
),但我希望它是大写的(例如
root.war
),我如何实现这一点?@Ramswaroop对我来说很好。也许您正在构建一个不区分大小写的文件系统,就像在Windows中一样?@Sebi-Nope,我是在mac上构建的。@RamPatra mac默认不区分大小写
war {
    archivesBaseName = 'name'
}