更改 gradle 中的 fat jar 名称
Posted
技术标签:
【中文标题】更改 gradle 中的 fat jar 名称【英文标题】:Change fat jar name in gradle 【发布时间】:2016-12-24 23:23:44 【问题描述】:我有一个 Spring Boot 项目,我正在使用 gradle 创建胖 jar 和普通 jar。
当我运行 "gradle clean build" 时,它会创建 2 个 jar 文件。第一个是胖的,名为“abc.jar”,第二个是普通的,名称为“abc.jar.original”。
当我运行“gradle installDist”时,它正在创建名为“abc.jar”的普通jar。
我想做的是,在干净的构建中,我想创建一个名为“abc-all.jar”的胖罐子和一个名为“abc.jar”的普通罐子。所以胖子和普通jar不会互相覆盖。
【问题讨论】:
【参考方案1】:我使用了 doLast 并简单地重命名了文件名。
build.doLast
def jarName = jar.archiveName
def fatJarName = jarName.replaceAll('.jar','-all.jar')
def jarFullPath = "$project.buildDir/libs/"+jarName
def fatJarFullPath = "$project.buildDir/libs/"+fatJarName
if ( file(fatJarFullPath).exists() )
file(fatJarFullPath).delete()
//rename fat jar's name
file( jarFullPath ).renameTo( file( fatJarFullPath ) )
if ( file(jarFullPath+'.original').exists() )
file(jarFullPath).delete()
//rename slim jar's name
file(jarFullPath+'.original').renameTo(file(jarFullPath))
【讨论】:
【参考方案2】:将此添加到您的 fatjar 配置中
archiveName = "$baseName-$appendix-$version-$classifier-all.$extension"
【讨论】:
以上是关于更改 gradle 中的 fat jar 名称的主要内容,如果未能解决你的问题,请参考以下文章