IDEA创建Spring项目无法使用Java8的解决方案

文章目录

一,创建Project,无法选择Java8

1,无法选择Java8

在使用Spring Initializr向导创建新项目时,遇到了无法选择Java 8版本的问题。

这个问题表现为,向导中只提供了Java 17和21版本,而没有Java 8的选项。

如下图所示。

2,选择JDK17报错

即使在本地JDK环境设置为1.8的情况下,尝试选择Java 17或21版本进行项目创建时,也可能会遭遇错误提示,导致创建过程无法顺利完成。

bash 复制代码
Selected version of Java 17 is not supported by the project SDK '1.8'. Either choose a lower version of Java, or set a higher version of the SDK.

To download additional SDKs, click the JDK drop-down.

二,原因分析

1,Spring Boot将来会全力支持Java17,不再维护支持Java8的版本

创建Spring项目时,IDEA等集成开发环境会通过访问Spring Initializr服务来生成初始项目结构。

然而,由于国际版的Spring Initializr已默认禁用了对Java 8的支持,直接访问start.spring.iostart.springboot.io将无法满足需求。

这个问题的根源在于Spring Boot 3.0.0的发布。

Spring官方在推出这一版本时明确指出,Java 17将成为未来的主流开发版本,并且所有的Java EE API都将迁移到Jakarta EE。

这意味着,开发者在编写代码时,需要将原有的javax包导入语句更改为jakarta。

此外,通过访问Spring Boot的官方网站,我们可以发现,自2023年11月24日起,Spring Boot 3.0以下版本已经停止了官方支持。

所以用向导创建根据,默认是3.0以上版本,而这些Spring版本要求JDK17及其以上版本

这进一步解释了为什么在Spring Initializr中无法选择Java 8作为项目的基础版本。

三,解决方案

1,使用国内阿里的项目模板

为了解决这一问题,我们可以采取一种变通方案:通过阿里云的国内服务来间接创建Spring项目。

具体做法也非常简单,将Spring Initializr的源地址从国际版更改为阿里云版,将https://start.spring.io/或者http://start.springboot.io/替换为 https://start.aliyun.com/

如下图所示。

通过这种方式,就能成功创建Java8项目了。

相关推荐
葫芦和十三3 小时前
图解 MongoDB 11|慢查询排查闭环:从 Profile 到 explain 的分层路径
后端·mongodb·agent
葫芦和十三6 小时前
图解 MongoDB 09|explain 再读:从 queryPlanner 到 executionStats
后端·mongodb·agent
葫芦和十三6 小时前
图解 MongoDB 10|覆盖查询:让索引把活干完,根本不用回表
后端·mongodb·agent
大鸡腿同学7 小时前
从 CoT 思维链到 ReAct:智能 Agent 到底是怎么 “思考” 的?
后端
IT_陈寒9 小时前
Vite的静态资源打包让我熬夜到三点,这坑千万别跳
前端·人工智能·后端
小bo波10 小时前
使用Thread子类创建线程 VS 使用Runnable接口创建线程的区别
java·多线程·thread·并发编程·runnable
SamDeepThinking10 小时前
高并发场景下,CompletableFuture与ForkJoinPool该如何取舍?
java·后端·面试
Asize11 小时前
多模态生图:从 Vite 工程化到前端调用 Qwen Image
javascript·人工智能·后端
java小白小11 小时前
SpringBoot(09):缓存实战——穿透、雪崩、击穿的解决方案
后端
java小白小11 小时前
SpringBoot(08):Redis 集成——5 分钟给你的项目加上缓存
后端