简介

用spring boot快速开发时,通常用spring-boot-maven-plugin插件将springboot的应用程序打包成jar文件,然后通过java -jar运行,很方便。但是如果是部署到服务器上,每次更改代码后替换的包都比较大,至少30MB以上,依赖jar多的甚至超过100MB,传输效率就降低了,其实真正的代码jar是很小的,所以要想办法给jar瘦身。

一、maven-jar-plugin

maven-jar-plugin是jar包生成插件,提供了manifest的配置,生成jar包中一般存放的是.class文件已经resources目录下的东西,文件很小。

二、spring-boot-maven-plugin

从官网的介绍来看,spring-boot-maven-plugin主要目标是spring-boot的启动、停止、运行和repackage,对于打包来说那就是repackage,也就是说它实现的打包功能是重新打包,原始jar包还是由maven-jar-plugin生成的。

三、区别和联系

我们将普通插件maven-jar-plugin生成的包和spring-boot-maven-plugin生成的包进行比较,发现使用spring-boot-maven-plugin生成的jar中主要增加了两部分,第一部分是lib目录,这里存放的是应用的Maven依赖的jar包文件,第二部分是spring boot loader相关的类,所以通常spring-boot-maven-plugin插件打的jar包程为fatjar或者胖jar。

四、总结

所以如果是用部署到生产或者服务器环境最好通过maven-jar-plugin打包,初次打包可以结合maven-assembly-plugin打成压缩文件,以后只需要传送更改的代即可。

spring boot中打包插件spring-boot-maven-plugin和maven-jar-plugin的关联相关推荐

  1. maven打包插件----Spring Boot Maven Plugin

    官方文档链接地址:http://docs.spring.io/spring-boot/docs/1.3.0.BUILD-SNAPSHOT/maven-plugin/index.html 第一部分 Sp ...

  2. Spring Boot中普通类获取Spring容器中的Bean

    我们知道如果我们要在一个类使用spring提供的bean对象,我们需要把这个类注入到spring容器中,交给spring容器进行管理,但是在实际当中,我们往往会碰到在一个普通的Java类中,自己动手n ...

  3. springboot 访问html_Spring Boot中使用Spring Security进行安全控制

    我们在编写Web应用时,经常需要对页面做一些安全控制,比如:对于没有访问权限的用户需要转到登录表单页面.要实现访问控制的方法多种多样,可以通过Aop.拦截器实现,也可以通过框架实现(如:Apache ...

  4. Spring Boot中使用Spring Security进行安全控制

    我们在编写Web应用时,经常需要对页面做一些安全控制,比如:对于没有访问权限的用户需要转到登录表单页面.要实现访问控制的方法多种多样,可以通过Aop.拦截器实现,也可以通过框架实现(如:Apache ...

  5. Spring中使用XML方式导入Spring配置文件,Boot中使用全注解导入Spring配置

    目录 Spring中的方法 Spring Boot中的方法 Spring中的方法 @ImportResource:导入Spring的配置文件,让配置文件里面的内容生效: Spring Boot里面没有 ...

  6. webbrowser中localhost和发布的地址_004、Spring Boot中的项目属性配置

    我们知道,在项目中,很多时候需要用到一些配置的信息,这些信息可能在测试环境和生产环境下会有不同的配置,后面根据实际业务情况有可能还会做修改,针对这种情况,我们不能将这些配置在代码中写死,最好就是写到配 ...

  7. 8.Spring Boot中使用thymeleaf

    Spring Boot中使用thymeleaf Spring Boot支持FreeMarker.Groovy.Thymeleaf和Mustache四种模板解析引擎,官方推荐使用Thymeleaf. s ...

  8. Spring Boot中使用MongoDB,使用 Repository以及使用MongoTemplate

    文章目录 Spring Boot中使用MongoDB MongoDB Repository使用实例 导入依赖 配置MongoDB 定义Model 定义Repository 进行使用 MongoTemp ...

  9. spring boot获取spring容器中的bean对象

    我们知道如果我们要在一个类使用  spring提供的bean对象,我们需要把这个类注入到spring容器中,交给spring容器进行管理,但是在实际当中,我们往往会碰到在一个普通的Java类中,想直接 ...

最新文章

  1. ASP.NET Core 实战:基于 Dapper 扩展你的数据访问方法
  2. CosmoMC命令CAMB文件画功率谱
  3. Linux内核模块开发 Slab高速缓存接口与用例
  4. Linux学习之CentOS(三十)--SELinux安全系统基础
  5. VS2008非托管c++访问webservice服务(以WeatherWS 天气服务 为例)
  6. java在面板中点击按钮后弹出对话框
  7. 计算机系统中数据加工过程中,数据库系统复习题-第1章绪论
  8. 怎样才能娶到比尔-盖茨的女儿
  9. Avalonia跨平台入门第七篇之RadioButton的模板
  10. P2796-Facer的程序【dp】
  11. Java中的PrintWriter的write方法和print方法的区别是什么?
  12. Vue (响应式原理-模拟-1-vue)
  13. 吴裕雄 python 神经网络——TensorFlow 花瓣分类与迁移学习(3)
  14. 支持Linux分区移动的,Linux怎样支持2T以上大硬盘分区
  15. 寻找春天 九宫格日记-2013.01.12
  16. 初始C语言——字符串,转义字符,循环语句
  17. 时光启程了岁月里所有的狼狈
  18. 脱敏数据的残余风险评估
  19. 公共厕所女性如厕难,厕所革命刻不容缓
  20. IDEA插件:多线程文件下载插件开发

热门文章

  1. c理c利用计算机怎么弹,通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的...
  2. Linux内核机器ID,linux-如何强制内核重新读取/重新初始化PCI设备ID?
  3. java写手机游戏_如何将自己编写的JAVA小游戏写到手机里?
  4. python dataframe切片_python pandas dataframe 行列选择,切片操作方法
  5. python风控工具_python-风控模型分析01
  6. python计算结果传给spark_Spark入门:流计算简介(Python版)
  7. oracle怎么设置出蓝色边,Oracle 数据库入门之———————-,多行函数-蓝色留心...
  8. ora28500 mysql_Oracle使用 ODBC+DBLINK 访问 Mysql
  9. Java SecurityManager checkAwtEventQueueAccess()方法与示例
  10. kubernetes 实战 使用 nfs 作为动态 storageClass 存储