构建.渐变、复制和重命名文件



我试图在我的gradle脚本中,在为spring应用程序创建bootJar后,复制并重命名创建的jar为新名称(将在Dockerfile中使用(。我不知道如何重命名文件(我不想在输出文件的docker版本中有这个版本(。

bootJar {
baseName = 'kcentral-app'
version =  version
}

task buildForDocker(type: Copy){
from bootJar
into 'build/libs/docker'
}

您可以使用bootJar扩展名中的archiveName属性直接生成具有预期名称的jar,而不是在生成后重命名它

bootJar {
archiveName "kcentral-app.jar" // <- this overrides the generated jar filename
baseName = 'kcentral-app'
version =  version
}

EDIT如果您需要保留原始jar文件名(包含版本(,那么您可以按如下方式更新buildForDocker任务定义:

task buildForDocker(type: Copy){
from bootJar
into 'build/libs/docker'
rename { String fileName ->
// a simple way is to remove the "-$version" from the jar filename
// but you can customize the filename replacement rule as you wish.
fileName.replace("-$project.version", "")
}
}

有关更多信息,请参阅渐变复制任务DSL

您也可以这样做:

task copyLogConfDebug(type: Copy){
group = 'local'
description = 'copy logging conf at level debug to WEB-INF/classes'
from "www/WEB-INF/conf/log4j2.debug.xml"
into "www/WEB-INF/classes/"
rename ('log4j2.debug.xml','log4j2.xml')

最新更新