【问题标题】:Change fat jar name in gradle更改 gradle 中的 fat jar 名称
【发布时间】: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不会互相覆盖。
【问题讨论】:
标签:
java
gradle
jar
spring-boot
build.gradle
【解决方案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}"