【SpringBoot】32、SpringBoot项目Jar包如何瘦身部署
一、背景
SpringBoot 为我们快速开发提供了很好的架子,使得我们只需要少量配置就能开始我们的开发工作,但是当我们需要打包上传部署时,却是很神伤的一个问题,因为打出来的 Jar 包少则十几兆,多则一百来兆,我们需要上传至公网服务器时,是非常慢的,这就引出了今天的主题,SpringBoot项目Jar包如何瘦身部署
1、思路
- 分析 jar,我们可以看出,jar 包里面分为以下三个模块
分为 BOOT-INF,META-INF,org 三个部分,打开 BOOT-INF
可以看到有 classes,lib 两个文件夹,我们编译好的代码是放在 classes 里面的,而我们所依赖的 jar 包都是放在 lib 文件夹下 - classes 部分是非常小的(我的是3M左右),lib部分是非常大的(我的是70M左右),所以上传很慢
- 那我们可以将我们自己写的代码部分与所依赖的 maven jar 包部分拆开上传,每次只需要上传我们自己写的代码部分即可
二、瘦身部署
1、正常打包
首先,我们项目的 pom.xml 文件中的打包方式如下:</
【SpringBoot】32、SpringBoot项目Jar包如何瘦身部署相关推荐
- 不错!SpringBoot发布Jar包优化瘦身指南!
概要说明 随着Spring Boot的流行,大家体验到只需构建输出一个jar文件,然后只需一个java -jar命令就能部署运行应用的爽快.常见一些单体应用随着项目规模的扩展单个jar文件的大小越来越 ...
- 我把SpringBoot项目从18.18M瘦身到0.18M,部署起来真省事!
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:yjgithub 原文:http://suo.im/5OOW ...
- 快夸我!我把SpringBoot项目从18.18M瘦身到0.18M!
作者:yjgithub 来源:http://39sd.cn/EF359 目录: 1.前言 2.瘦身前的Jar包 3.解决方案 一.前言 SpringBoot部署起来虽然简单,如果服务器部署在公司内网, ...
- IDEA把Springboot打成可执行jar包,内嵌tomcat 这个可以用
IDEA把Springboot打成可执行jar包,内嵌tomcat 2018年11月23日 18:36:30 ta山之石可以攻玉 阅读数 3061 版权声明:本文为博主原创文章,未经博主允许不得转载. ...
- springboot基于mybatis扫描jar包中的controller、service、dao、xml
springboot基于mybatis扫描jar包中的controller.service.dao.xml 最近有这样的需求,是将某个业务模块接口,比如新闻的接口模块 作为一个公共固定的模块,整个包括 ...
- maven springboot 除去指定的jar包_SpringBoot的运行机制
SpringBoot打包机制 先看一眼spring-boot的maven插件打包后的target目录: 其中有一个.jar.original的文件,一个.jar文件,其中.jar.original才是 ...
- springboot解决第三方依赖jar包的问题
springboot解决第三方依赖jar包的问题 参考文章: (1)springboot解决第三方依赖jar包的问题 (2)https://www.cnblogs.com/xiaosiyuan/p/6 ...
- 阿里云 部署SpringBoot和Vue项目 亲测可用(第一次部署经验贴)
阿里云 部署SpringBoot和Vue项目 亲测可用!第一次部署经验贴! 前言:与伙伴一起写了一个项目,但是由于老师要我们部署到服务器上,而我从未有部署过,查看了csdn很多博客,试了好多篇,才成功 ...
- spring boot jar包_「Spring Boot 新特性」 jar 大小自动瘦身
自动分析瘦身 Spring Boot 项目最终构建处理 JAR 包大小一直是个诟病,需要把所有依赖包内置最终输出可运行的 jar.当然可以使用其他的插件扩展 实现依赖 JAR 和 可运行 jar 分离 ...
最新文章
- linux 文件操作 编程,Linux系统编程------------文件操作(基础)
- Form学习入门系列(一)
- 在qt中用c语言数组,在QT函数中返回一个数组/把一个数组传参给函数
- 用Gson实现json与对象、list集合之间的相互转化
- 阿里云视频云 Retina 多媒体 AI 体验馆开张啦!
- VC INI文件读写 和 GetProfileString,WriteProfileString函数的使用
- FFmpeg中MPEG-4编码程序追踪,其他FFMPEG自带编码器同理
- cordova 人脸识别_html5与EmguCV前后端实现——人脸识别篇(一)
- Ubuntu下pycharm无法输入中文
- linux下多线程的创建与等待详解 【转载】
- Atitit 验证码功能修复总结文档原有的tp5里面的验证码不知怎么有问题了,试图在tp5框架内修复无果。。使用了新的验证码组件 “lifei6671/php-captcha“: “0.
- 【发表案例】JCR1区计算机测量类SCI,仅3个月录用
- IAR (10.10.1) 安装与破解教程
- android上传到svn服务器端,上传Android项目到SVN
- hd6630m可以玩lol吗_《LOL》流畅玩!Intel HD620核显性能实测
- Java 使用 throw 抛出异常
- 8、MySQL Workbench导入数据库提示Failed to open required defaults file:xxx.cnf
- navicat哪个版本支持mysql8_Navicat连接MySQL8.0亲测有效
- 蓝光影视媒体菜单结构浅析[原版加字幕保留花絮/主菜单/弹出菜单并分割对应PS3]...
- 尽信书不如无书之获取枚举值代码优化