正常打包的jar是包含项目所依赖的jar包资源,而且大多数场景下的依赖资源是不会频繁的变更的,所以实际把项目自身jar和其所依赖的资源分离可以实现jar包瘦身,减小上传的jar包总大小,能实现加速部署的效果
一 原本结构
二 配置build.gradle
// 清除lib
task clearLib(type: Delete) {
delete "$buildDir/libs"
}
// 拷贝lib
task copyLib(type: Copy) {
into "$buildDir/libs/lib"
from configurations.runtimeClasspath
}
bootJar {
//archiveBaseName = 'boot'
//version = '1.0.0'
archiveFileName = 'boot.jar'
excludes = ["*.jar"]
// lib目录的清除和复制任务
dependsOn clearLib
dependsOn copyLib
// 指定依赖包的路径,运行时不再需要指定 java.ext.dir 或 loader.path 参数。
manifest {
attributes(
'Manifest-Version': '1.0',
'Class-Path': configurations.runtimeClasspath.files.collect { "lib/$it.name" }.join(' ')
)
}
}
三 重新打包后目录
打包后build/libs/lib就是依赖的jar包资源
boot.jar就是不含依赖资源的jar包,如果要根据项目名自动生成带版本号的jar包就把 bootJar中的archiveFileName 配置注释掉。文章来源:https://www.toymoban.com/news/detail-823348.html
打包后只需把build/libs下的包一起分发即可运行文章来源地址https://www.toymoban.com/news/detail-823348.html
到了这里,关于gradle打包分离依赖jar的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!