java 搭建一个springboot3.4.1项目 JDK21

环境准备

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 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/868ca15ab8a14085a4ad93df46eb2d56.png) 成功加载: ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/ed262537eaac4010ae69d1966de13840.png) #### 总结 版本推荐: | 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格式 并配置数据源,因为引入了数据库相关依赖,不配置数据源会报错 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/f46583b0eccf41aeb8b90acf998267e1.png) ### 启动成功 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/3ed29a638a274fd089414fe470fa54c9.png) 随便写个接口 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/1574ca30774c40d39d73fa66da445170.png) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/4b76e8af48fc4ffd8124d583b9e9e5e4.png)

相关推荐
听情歌落俗11 分钟前
MATLAB3-1变量-台大郭彦甫
开发语言·笔记·算法·matlab·矩阵
Propeller18 分钟前
【Android】View 交互的事件处理机制
android·java
杨杨杨大侠22 分钟前
Atlas Mapper 教程系列 (5/10):集合映射与嵌套对象处理
java·开源·github
ERP老兵_冷溪虎山22 分钟前
Python/JS/Go/Java同步学习(第十三篇)四语言“字符串转码解码“对照表: 财务“小南“纸式转码术处理凭证乱码崩溃(附源码/截图/参数表/避坑指南)
java·后端·python
是2的10次方啊23 分钟前
如何设计10万QPS秒杀系统?缓存+消息队列+分布式锁架构实战
java
心灵宝贝24 分钟前
Tomcat Connectors 1.2.37 源码编译安装教程(mod_jk 详细步骤)
java·tomcat
杨杨杨大侠27 分钟前
Atlas Mapper 教程系列 (6/10):Spring Boot 集成与自动配置
java·开源·github
傻傻虎虎37 分钟前
【Docker】容器端口暴露+镜像生成实战
java·docker·容器
练习时长一年1 小时前
搭建langchain4j+SpringBoot的Ai项目
java·spring boot·后端
zhangfeng11331 小时前
在 R 语言里,`$` 只有一个作用 按名字提取“列表型”对象里的单个元素 对象 $ 名字
开发语言·windows·r语言