idea创建spring boot项目时java version只能选择17和21

首先说下原因,根据官网所说,以后jdk版本主流为17,而且在2023年11月24日,3.0以下的版本不再支持了,升级为17后大部分用户需要修改import相关API的时候,要用jakarta替换javax。比如:原来引入javax.servlet.Filter的地方,需要替换为jakarta.servlet.Filter

再说解决办法,网上查到的解决办法有两种

第一种是创建SpringBoot时,把https://start.spring.io/或者http://start.springboot.io/替换为 https://start.aliyun.com/

第二种办法就是升级到17

最后我试了下创建SpringBoot项目时就使用17创建,创建完后进入pom文件,修改版本号,我的pom文件如下

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.17</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.testvesion</groupId>
    <artifactId>testvesion</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>testvesion</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
 
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
 
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>
 
</project>

之后就可以运行了

相关推荐
m0_521329037 分钟前
java-单元测试
java
掉鱼的猫20 分钟前
Java MCP 的鉴权?好简单的啦
java·mcp
Java水解21 分钟前
Java最新面试题(全网最全、最细、附答案)
java·后端·面试
Java水解24 分钟前
java开发面试题(10个常问面试题含答案,亲测有效)
java·后端·面试
CHEN5_0224 分钟前
【Java基础常见辨析】重载与重写,深拷贝与浅拷贝,抽象类与普通类
java·开发语言
悟纤27 分钟前
Spring Boot 实用小技巧:多级缓存(Caffeine + Redis)- 第545篇
spring boot·后端·spring
冲鸭ONE39 分钟前
JAVA多线程概述及应用
java
Despacito0o41 分钟前
C语言基础:变量与进制详解
java·c语言·开发语言
MrSYJ1 小时前
UserDetailService是在什么环节生效的,为什么自定义之后就能被识别
java·spring boot·后端
long3163 小时前
构建者设计模式 Builder
java·后端·学习·设计模式