700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Spring Boot gradle 打包瘦身减少jar包体积 含demo

Spring Boot gradle 打包瘦身减少jar包体积 含demo

时间:2023-01-29 16:11:45

相关推荐

Spring Boot  gradle 打包瘦身减少jar包体积   含demo

Spring Boot 1.5.x 打包

demo项目地址

/youngboyvip/package-example

解决问题

Spring Boot 项目包太大上传服务器费时

优化原理

把占空间的lib目录移到外面去,打包时指定loaderPropertiesLauncher,启动时使用loader.path制定lib目录的位置

参考文档

bootReapckage 文档67.3 Packaging executable jar and war files章节 点我

Spring Boot Loader 原理E.1 Nested JARs 章节点我

gradle task写法

Spring 1.5.x版本适用 2.x版本不适用

configurations {mycustomconfiguration //单独配置configuration}dependencies {//给mycustomconfiguration 配置依赖,如果你不配那lib/中就不会有jar包mycustomconfiguration "org.liquibase:liquibase-core" }//复制依赖jar包的任务,会在build/libs 目录下面生成lib.zip文件task copyJars(type: Zip) {from(pile) destinationDir file("build/libs") archiveName "lib.zip"}task clientJar(type: Jar) {appendix = 'slim'from sourceSets.main.output exclude('.*/lib/**') manifest {attributes 'Main-Class':'org.springframework.boot.loader.PropertiesLauncher'}}task bootJar(type: BootRepackage, dependsOn: clientJar) {springBoot.layout = 'zip'withJarTask = clientJar customConfiguration = "mycustomconfiguration"}

打包命令 执行bootJar 就ok了

启动方法

STEP1: 解压lib.zip 文件到lib文件夹

STEP2: 执行命令

java -Dloader.path="lib/,WEB-INF/classes" -jar 你jar包的名字

Spring Boot 2.x 打包

使用spring-boot-thin-launcher插件打包SpringBoot项目

github地址传送门

优化原理

使用ThinJarWrapper装载器从jar包pom.xml/META-INF/mavenMETA-INF/thin.properties路径中解析出依赖的jar包,

然后从本地仓库或远程仓库拉取jar包,然后使用ThinJarLauncher运行Main函数

使用说明

运行thinJar任务打包

运行java -jar jar包名启动

注意事项

别忘了配置apply plugin: 'maven-publish'插件,不然不会生成pom文件

文档参考

文档

maven 项目参考

使用maven插件即可

文档

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。