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.io或start.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项目了。

相关推荐
考虑考虑2 小时前
JDK26中的List.ofLazy()
java·后端·java ee
小蒜学长2 小时前
基于SpringBoot的公寓报修管理系统的设计与实现(代码+数据库+LW)
java·spring boot·后端·公寓报修管理系统·多角色协同
for_ever_love__2 小时前
MySQL 主从复制讲透:binlog 原理、搭建步骤与读写分离
java·数据库·mysql·binlog·读写分离·原理·主从复制
云浪2 小时前
Go源码分析:搞懂 Go 是如何实现堆的
后端·go·源码阅读
小π军5 小时前
操作系统面试题
java·linux·服务器
倔强的石头1065 小时前
应用账号最小权限实践:读写账号、报表账号、运维账号分层
java·运维·开发语言
Shaoshing5 小时前
ThreadLocal
java·jvm·threadlocal
写后端的胖头鱼5 小时前
一文详解CAS
java·jvm·spring·cas·乐观锁·自旋
鱼宵6 小时前
Spring AI 提示词模板:{变量} 参数化 + few-shot,一条提示词反复用
java·人工智能·spring·few-shot·提示词工程·springai