SpringBoot 2.1.5升级2.4.0,构建由maven转gradle
编者: wRitchie(吴理琪) 来源:http://www.bj9420.com
概述:随着SpringBoot2.4.0的发布,构建工具由maven转向gradle,本文在以前即有的项目基础上,实现版本升级,并转为grale构建。
一、 Maven转Gradle,在Terminal中输入命令gradle init --type pom,也就是pom文件所在的目录
![9fb09caf59150553d7d42722db52c7e7.png](https://i-blog.csdnimg.cn/blog_migrate/ab8ee2ccb62cce4d551fd5620e499f2f.jpeg)
执行完后,提示BUILD SUCCESSFUL即转换完成,例图:
![59ffcadd51db37febf979e50118ce99a.png](https://i-blog.csdnimg.cn/blog_migrate/617f93cb554d11344924eec3deb01928.jpeg)
转换完成后,项目根目录下多出build.gradle、gradlew、gradlew.bat、setting.gradle文件以及.gradle、gradle目录
![c46d5170e060e2b92928b32821550fd8.png](https://i-blog.csdnimg.cn/blog_migrate/6337855466542464abb0b6007b498850.jpeg)
二、 build.gradle配置
1、 将Maven仓库修改为阿里云镜像
![8193c19536da9caf58fb2e715141a118.png](https://i-blog.csdnimg.cn/blog_migrate/d150343f4c7eb0e1890b2638d5f84332.jpeg)
2、 Gradle统一版本号控制,默认引入依赖时,一个依赖对应一个版本
![3aac363b0a95067cb641e919f427e54e.png](https://i-blog.csdnimg.cn/blog_migrate/d74951d6ffcdd54dee21e36f59ac4f5f.jpeg)
3、 这种方式,当引入依赖过多,要更改版本号时需一个个去找。可以使用ext创建键值对来存放版本号,需要改版本时,只改ext里的值就行。
![8749c069aafb71944c7c9734ae8d4eef.png](https://i-blog.csdnimg.cn/blog_migrate/9d6c4bfdd9cbd717b99770c1ef2d3f6b.jpeg)
![cef56238f6fc1fc34d0a796dac37e285.png](https://i-blog.csdnimg.cn/blog_migrate/78c1c077767692afabae16ba0d62d3f6.jpeg)
4、 在使用的Gradle管理依赖方式之后,解决Lombok编译不生效的问题,即在实体类上使用@Data后在build时,显示基于lombok生成的get/set方法无效,即在build.gradle文件的dependencies中 使用了compileOnly和annotationProcessor 两个配置引入Lombok。
![dc54c686a96e226a03c8328f3adf644c.png](https://i-blog.csdnimg.cn/blog_migrate/1ae8615b0cc016d7cbb3cc0a60afacfe.jpeg)
实测只需加上annotationProcessor即可。
![c4ebd3c815b94b96333977c8eea7b286.png](https://i-blog.csdnimg.cn/blog_migrate/edf13a26b1a3af22b3cb1d85a513f583.jpeg)
5、 删除maven相关的配置文件即可
![cdb0b47f8a60e66f980bd3d7be77112b.png](https://i-blog.csdnimg.cn/blog_migrate/179574ad0b4a253e8ca9446593f8e222.jpeg)
6、 删除完maven相关配置后,如图所示:
![1513d4099236aa9fdaddc790b980c7d3.png](https://i-blog.csdnimg.cn/blog_migrate/ea730d0f81390ddd079a7e818dd9b6a2.jpeg)
7、 build,点击右侧Gradle,双击clean清除项目,双击build可构建项目
![fe546f3c1bd24277ff181d1e83f7a0de.png](https://i-blog.csdnimg.cn/blog_migrate/e8be1f8362a2d30755e1939c9bfe2c45.jpeg)