Spring Boot应用优化与升级

前言 厂里有个21W行Java代码的项目,通过Gradle管理,子项目有104个,编译之后产生3个可启动的应用,初次编译时间要95秒,产生的关键应用的大小在90M左右。上传到生产服务器运行,启动完成需要137秒。整个过程比较漫长,一次Hotfix会耗掉Ops近10分钟时间。 上周三一同事回家试验升级Spring Boot 1.4.0和Gradle 3.0,说好像还不错,这个项目还在使用1.2.7版本,可以找时间的时候升级上去。 周四下午有了点时间,就着手开始动手做,三个目标,有优先级地开始进行: 加速应用的编译和启动速度 将Spring Boot升级到1.4.0版本 将Spring Boot相关依赖升级到合适的版本 加速应用的编译和启动速度 Spring Boot应用是一个fat jar,启动的时候会将fat jar中的jar(jar in jar)一个个扫描,将里面的jar扫描之后通过链接方式重新链入classpath中。应用越大,这个工作就越繁重,耗时越长。…