资讯专栏INFORMATION COLUMN

工作记录|给 Spring boot Jar 瘦瘦身

jzman / 2887人阅读

摘要:问题凸显上述提到将整个应用打成一个来执行,大大提高了我们的效率。但是同时也给我们带来了烦恼,随着我们项目的不但迭代,也导致不断的肥胖,对于高速迭代的项目上传一个如此肥胖的简直痛不欲生。启动项目就这么简单的帮减肥成功了。

写在前面

在如今程序员的世界中,spring boot 越来越流行,不管是开发web应用还是构建spring cloud 微服务架构都离不开它,

不同于传统的web应用 需要多带带部署容器来发布war包, spring boot 应用可以把整个项目打包成我们熟悉的jar来运行,大大方便了我们的开发部署。

问题凸显

上述提到Spring boot将整个应用打成一个Jar来执行,大大提高了我们的效率。

但是同时也给我们带来了烦恼,随着我们项目的不但迭代,也导致Jar不断的肥胖,对于高速迭代的项目上传一个如此肥胖的Jar简直痛不欲生。

那怎么办? 程序员是一个懒人职业,总会想到办法来一次搞定这些问题的。

下面就让我们来看看吧!

解决方案

解决上述问题,只需要如下几步就可以搞定了。

通常我们是用spring-boot-maven-plugin 进行打包、通过阅读文档发现可以通过配置使得该插件在打包时忽略特定的依赖,文档:spring-boot-maven-plugin

首先备份原先的依赖: 可以用使用 mvn dependency:copy-dependencies 首先将依赖导出。

将一些变化不大的 jar copy 到外部文件 lib 文件夹中(和 pom 文件中配置对应 )

修改 pom 文件


    
        
            org.springframework.boot
            spring-boot-maven-plugin
            
                                ZIP
                                
                                
                                     org.springframework.boot,
                                     org.springframework,
                                     org.springframework.data,
                                     org.apache.tomcat.embed
                               
                                 
        
    
            
注:layout 必须是 ZIP 、 excludeGroupIds 中时忽略也是就需要打在外部的 jar 、根据自己项目的情况进行配置,exclude的更多用法 请参考文档spring-boot-maven-plugin

项目启动 将 项目的 jar 和 刚创建的 lib 放在同级目录下(不是必须的)。

启动项目: java -Dloader.path="lib/" -jar xx.jar

ok! 就这么简单的帮spring boot jar 减肥成功了。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/75067.html

相关文章

  • CDN——为你网站身!

    摘要:使用的好处提升网站的性能使用最大的益处是为你的服务器提供分流,节省了你的带宽,减少了服务器的压力,很多厂商提供的资源访问服务加载速度还是比较快的墙内除外。你无需担心服务器宕机或者网络延迟的问题。 CDN(Content Delivery Networks)为我们提供了很多方便全面的资源信息的托管,让我们省去了在自己服务器中加载一些公共资源文件的流程,相对来说减少了对服务器的请求,这样的...

    LeanCloud 评论0 收藏0
  • Spring Boot 参考指南(开发者工具)

    摘要:触发器文件可以手动更新,也可以使用插件进行更新。例如,要配置重新启动以始终使用触发器文件,你需要添加以下属性远程应用程序开发工具并不局限于本地开发,在远程运行应用程序时,还可以使用几个特性。 20. 开发者工具 Spring Boot包括一组额外的工具,这些工具可以使应用程序开发体验变得更加愉快,spring-boot-devtools模块可以包含在任何项目中,以提供额外的develo...

    APICloud 评论0 收藏0
  • Spring Boot 参考指南(日志记录

    摘要:默认情况下,如果使用,则使用进行日志记录,还包括适当的路由,以确保使用或的依赖库都能正确工作。分隔符,用于区分实际日志消息的开始。 26. 日志记录 Spring Boot为所有内部日志记录使用Commons Logging,但开放底层日志实现,提供了Java Util Logging、Log4J2和Logback的默认配置,在每种情况下,日志记录器都被预先配置为使用控制台输出,可选的...

    mengera88 评论0 收藏0
  • Spring Boot 参考指南(开发你的第一个Spring Boot应用程序)

    摘要:开发你的第一个应用程序本节描述如何开发一个简单的应用程序来突出了的一些关键特性,我们使用来构建这个项目,因为大多数都支持它。如果你希望分发一个自包含的应用程序,这可能会有问题。 11. 开发你的第一个Spring Boot应用程序 本节描述如何开发一个简单的Hello World! web应用程序来突出了Spring Boot的一些关键特性,我们使用Maven来构建这个项目,因为大多数...

    Cristalven 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<