网站建设资讯

NEWS

网站建设资讯

如何实现SpringBoot框架打包体积简化

这篇文章主要讲解了如何实现SpringBoot框架打包体积简化,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

创新互联专注于企业全网整合营销推广、网站重做改版、宜章网站定制设计、自适应品牌网站建设、H5响应式网站商城网站制作、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为宜章等各大城市提供网站开发制作服务。

Springboot 框架极大的的简化了代码的框架集成开发,想当年还是用ssm框架组合时,那种配置令人头疼,还有Springboot框架自带tomcat服务器,简化了我们的环境搭建。但是Springboot框架自带tomcat服务器也有问题,就是导致一个服务很大,比如一个简单的业务系统,可能因为导入的第三方jar包比较多,导致打包出来的jar非常大。假如是内网上传至服务器,还好,但是假如是在阿里云这种云服务器,就很考验带宽的上行速度了。比如我家50M宽带,下行很快,但上行才3M,一个jar包100M,我微调一下重新部署,这中间的时间就是10分钟去了。所以也在琢磨如何简化jar包。

下图是spingboot框架打出来的jar目录情况

如何实现SpringBoot框架打包体积简化

在BOOT-INF下面

如何实现SpringBoot框架打包体积简化

这个lib下面就是第三方jar包。

下面就来简化它吧。

我的项目目录结构如下

course
  course-common
  course-pojo
  course-service
  course-web

Web中包含springboot框架main启动入口,打包时,会将 course-common、course-pojo、course-service 这三个服务打成jar包,集成在 course 最终的jar里lib目录下。

修改course-web服务的pom文件


    mml-course
    
      
        org.springframework.boot
        spring-boot-maven-plugin
        
          E:\JARS\pre
          ZIP      
                
            
              com.mml
              mml-course-service
            
            
              com.mml
              mml-course-pojo
            
            
              com.mml
              mml-course-common
            
          
        
      
    

重点关注两处,layout 和 includes 。

layout 是为了 springboot jar简化后能够加载第三方jar包目录,如果没加入这句话,在待会儿启动时,会报错。

includes 是指包含哪些项目的jar包,因为我项目结构的问题,我必须将 service 、pojo、common这三个项目打包进去。假如你的项目中没有自己项目依赖可以写成如下格式,表示不包含任何jar包。


  
    nothing      
    nothing
  

修改完pom.xml后,执行 mvn clean package 命令打包出来的springboot项目jar包大小会从100M缩小到100K,此时的jar包并不能直接运行,因为没有这些第三方依赖。

上传至服务器,速度会快很多,原来的jar包运行命令是

nohub java –jar mml-course.jar > ./logs/course.out 2>&1 &

nohub 表示后台执行这个jar。

现在需要改成如下格式

nohub java –Dloader.path=/path/lib –jar mml-course.jar > ./logs/course.out 2>&1 &

加入了 –Dloader.path=/path/lib , /path/lib 根据实际的第三方jar所在目录,当然也可以加载多个地址,用,分隔就好了。一定要在pom中加入ZIP,否则这步无法加载第三方jar目录,导致报错。

看完上述内容,是不是对如何实现SpringBoot框架打包体积简化有进一步的了解,如果还想学习更多内容,欢迎关注创新互联行业资讯频道。


当前题目:如何实现SpringBoot框架打包体积简化
本文来源:http://cdweb.net/article/gcosop.html