环境准备
idea:2021
springboot:3.4.1
JDK:21
maven:3.6.3
新建项目
点击new->project->spring initializr
选择springboot版本
1.选择springboot版本,因为JDK版本是21因此对应springboot3.X
Spring Boot 2.6.x:适用于JDK 8到17,适合需要使用较早Spring Boot版本的项目。
Spring Boot 2.7.x:适用于JDK 8到17,适合现有项目逐步迁移。
Spring Boot 3.x:全面支持JDK 17及以上版本,利用最新的Java特性和性能优化。
选择依赖
依赖这里自主选择,例如是搭建的web项目(一般的BS架构就是)这里就可以选择spring web
例如SQL选择以下这几个就基本满足需求
下面还有很多自主选择:
最后创建就行
创建完之后的目录
这里就是完整的目录结构,发现pom文件引入依赖失败
原因以及解决
原因maven路径不对
开始修改maven文件映入路径
打开maven设置
设置maven路径
以下是我的本地maven settings 和 repository路径
修改后的maven路径
修改完成后maven会慢慢导入依赖,解决爆红,但是博主出现问题了
这里一看springboot3.4都没引入进来,怀疑MAVEN使用的版本太低
下载maven3.9 修改配置
修改settings配置
1.修改本地存储路径
2.修改镜像下载源
设置环境变量
新建
因为我之前有3.6版本的所以换一个名字
将之前的MAVEN_HONE替换为MAVEN_HOME39
修改后:
cmd查看maven版本
发现maven对应的java版本是JDK1.8 我们不是已经修改成了21了吗?
原因是我们MAVEN默认指定对应的JDK版本是JAVA_HOME的
因此修改JAVA_HOME
cmd mvn -v查看
发现出现没找到JAVA_HOME
原因是高版本的JDK如JDK17免安装版没有JRE,配置好环境变量Maven识别不出JDK的位置导致的报错
解决方法:
手动添加JDK路径 set JAVA_HOME=E:\JDK\JDK21
可能出现乱码问题,注意中英文,实在不行重新手敲
这里就成功修改maven版本以及对应的JDK版本
修改成功,接下来替换idea路径
下载以及等待
可以看见repository文件慢慢在增加
后面发现报错
ava.lang.RuntimeException: org.codehaus.plexus.component.repository.exception.ComponentLookupException: com.google.inject.ProvisionException: Unable to provision, see the following errors:
[Guice/ErrorInjectingConstructor]: NoSuchMethodError: DefaultModelValidator: method ‘void ()’ not found
查询得知maven版本也要适应idea版本,maven发行时间不能高于idea发行时间
切回maven3.6.3 对应JDK21
因此切回maven3.6.3
对应JDK21
成功加载:
总结
版本推荐:
Spring Boot 版本 | 推荐 JDK 版本 | 推荐 Maven 版本 |
---|---|---|
Spring Boot 2.0 - 2.7 | JDK 8, 11, 16, 17 | Maven 3.5 或 3.6 |
Spring Boot 3.0 - 3.4 | JDK 17 或更高(Java 21) | Maven 3.8 或更高 |
这里如果maven版本对应不上idea版本进来更新idea,不然只能降maven,可能导致后续依赖出错
修改配置
个人习惯于yaml格式,因此修改为yml格式
并配置数据源,因为引入了数据库相关依赖,不配置数据源会报错
启动成功
随便写个接口