Spring Initializr 构建 SpringBoot项目时Server URL选择start.spring.io和start.aliyun.com的区别

前言
构建SpringBoot项目时默认的URL一直是start.spring.io,我也从未思考过这个网址有什么意义,直到今天新建SpringBoot项目时发现JAVA版本只有17和20,上网一查发现是因为 Spring Boot 官方不再支持 Spring Boot 的 2.x 版本了,之后全力维护 3.x;而 Spring Boot 3.x 对 JDK 版本的最低要求是 17。

一、那如何用JDK1.8构建SpringBoot项目?

把Server URL替换成https://start.aliyun.com就可以选择Java8来构建SpringBoot项目了:

二、用阿里云镜像构建很好就是pom文件有点怪

1.start.spring.io构建的pom文件:

2.start.aliyun.com构建的pom文件

用阿里云构建项目后我发现没有parent标签,我以为可能是jdk版本或者是SpringBoot版本的原因,于是用了控制变量法构建了数次项目,最终发现就是start.aliyun.com的原因
那作为一个刚看完maven高级的JAVA小学生,我当然不同意了,你没有依赖于spring-boot-starter-parent这个父maven那这个pom文件他能对劲吗?带着这样的疑惑我又开始了我的百度之旅。然后我就发现因为aili版pom文件多了dependencyManagement做统一版本管理

还多引入了几个插件:

那么现在问题就来到了parent继承spring-boot-starter-parent的作用是否能被dependencyManagement和多引入的插件替代。

三、parent继承spring-boot-starter-parent的目的

这个网址写的很详细:
https://www.jb51.net/program/2849052l1.htm

ctrl进入spring-boot-starter-parent发现继承了spring-boot-dependencies,查看代码和帖子后得知


dependencies主要引入了依赖管理:

parent主要是引入了插件管理

这里我去查看了一下springboot官网文档,发现他早已给出替代parent的方法,甚至还有些推荐这样做。

机翻一下:您可能有理由不继承spring-boot-starter-parent POM。您可能需要使用自己的公司标准父组件,或者您可能更喜欢显式声明所有Maven配置。
如果你不想使用spring-boot-starter-parent,你仍然可以通过使用一个import作用域的依赖项来保持依赖项管理(而不是插件管理)的好处,如下所示。
那parent的dependencyManagement替换完了,还要替换pluginManagement

通过阅读阿里云官方文档后得知上面那段代码可以替代pluginManagement,那现在我们就可以不继承spring-boot-starter-parent了,因为在企业中一般我们还要继承我们自己的父工程。

不过我还有一个新问题,pluginManagement里面那么多行代码怎么就被这十几行代码替代了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值