IDEA2023版本创建Sping项目只能勾选17和21,却无法使用Java8?(已解决)

本文主要是介绍IDEA2023版本创建Sping项目只能勾选17和21,却无法使用Java8?(已解决),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 分析
  • 解决
    • 方案一:替换创建项目的源
    • 方案二:升级JDK版本
  • 参考文献

前言

起因

想创建一个springboot的项目,本地安装的是1.8,但是在使用Spring Initializr创建项目时,发现版本只有17和21。

在这里插入图片描述

在JDK为1.8的情况下,无论选择Java17版本或者21版本时,都会报错。
要求你要么选择更低的Java版本或者更换更高的SDK版本即跟换JDK版本
在这里插入图片描述

Java17和Java 8(JDK1.8)的区别

  1. 版本号:Java 17 是 Java SE 17 的版本,而 JDK 1.8 是 Java SE 8 的版本。

  2. 发布时间:Java 17 发布于 2021 年,而 JDK 1.8 发布于 2014 年.

  3. 新特性:Java 17 相对于 JDK 1.8,新增了很多特性和改进,例如:Switch 表达式、Sealed 类、Pattern
    Matching for instanceof 等。

  4. 兼容性:Java 17 和 JDK 1.8 不兼容,由于 Java 的向后兼容性,Java 17 可以运行 JDK 1.8 的代码,但
    JDK 1.8 不支持 Java 17 的新特性。

  5. 安全性:Java 17 相对于 JDK 1.8,修复了更多的安全漏洞,提高了程序的安全性。

exe和msi的区别

"exe"和"msi"是两种常见的文件扩展名,用于Windows操作系统中的安装程序。它们之间有以下区别:

  1. 格式:exe文件是可执行文件,而msi文件是Windows Installer安装包。
  2. 安装方式:exe文件通常是自解压缩文件,一般包含一个可执行文件和其他必要的资源。当你运行exe文件时,它会解压缩并执行其中的程序来完成安装。msi文件是一种基于Windows Installer技术的安装包,它采用了Windows Installer服务来处理安装和卸载操作。
  3. 安装过程:exe文件通常是自包含的安装程序,可以执行多个操作,例如复制文件、创建注册表项、安装驱动程序等。msi文件则使用Windows Installer提供的功能,通过一系列的安装动作和操作来完成安装过程。这包括执行预定义的安装脚本、处理文件和注册表项、创建快捷方式等。
  4. 高级功能:由于采用了Windows Installer技术,msi文件支持一些高级功能,例如安装时的自定义设置、升级和修补程序、回滚机制等。这些功能使得msi文件更适合在企业环境中进行软件分发和管理。

总的来说,exe文件更加灵活,适用于简单的安装过程,而msi文件提供了更强大和可定制的安装功能,适用于需要管理和分发的复杂软件。在选择使用哪种文件格式时,应根据具体的需求和情况进行评估。

分析

  1. Spring官方发布Spring Boot 3.0.0 的时候告知了一些情况,Java 17将成为未来的主流版本,所有的Java EE Api都需要迁移到Jakarta EE上来。大部分用户需要修改import相关API的时候,要用jakarta替换javax。比如:原来引入javax.servlet.Filter的地方,需要替换为jakarta.servlet.Filter
  2. 进入Springboot官网查看情况,发现在2023年11月24日,3.0以下的版本不再支持了。

在这里插入图片描述

解决

方案一:替换创建项目的源

我们只知道IDEA页面创建Spring项目,其实是访问spring initializr去创建项目。故我们可以通过阿里云国服去间接创建Spring项目。将https://start.spring.io/或者http://start.springboot.io/替换为 https://start.aliyun.com/

在这里插入图片描述

方案二:升级JDK版本

采用JDK17或者21版本,创建项目后,springboot的版本要改为3.0以下,在pom.xml中把java改为1.8,如下图。
在这里插入图片描述

1、下载JDK17,JDK官网
选择Windows X64 Installer下载即可。
在这里插入图片描述
2、安装JDK17
双击已下载的jdk17,进入安装界面,点击下一步 ==> 选择安装路径,可更改路径,点击更改,我选择安装在E盘,点击确定 == > 点击下一步进行安装。安装完成后直接点击关闭即可。


3、配置Java环境变量

方式一:点击开始设置 ==> 搜索环境变量
方式二:右击此电 ==> 属性 ==> 高级系统设置 ==>环境变量
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在系统变量中找到ptah双击,进入path页面,添加jdk安装位置,新建,选择自己的安装JDK17位置如下图
在这里插入图片描述
在这里插入图片描述

4、验证是否配置成功
win+R输入cmd回车,输入java -version和javac -version,均返回jdk版本,如下图

在这里插入图片描述

参考文献

  1. jdk17下载及环境变量配置
  2. exe和msi的区别

这篇关于IDEA2023版本创建Sping项目只能勾选17和21,却无法使用Java8?(已解决)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/428624

相关文章

Java实现字节字符转bcd编码

《Java实现字节字符转bcd编码》BCD是一种将十进制数字编码为二进制的表示方式,常用于数字显示和存储,本文将介绍如何在Java中实现字节字符转BCD码的过程,需要的小伙伴可以了解下... 目录前言BCD码是什么Java实现字节转bcd编码方法补充总结前言BCD码(Binary-Coded Decima

SpringBoot全局域名替换的实现

《SpringBoot全局域名替换的实现》本文主要介绍了SpringBoot全局域名替换的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录 项目结构⚙️ 配置文件application.yml️ 配置类AppProperties.Ja

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

JavaScript中的高级调试方法全攻略指南

《JavaScript中的高级调试方法全攻略指南》什么是高级JavaScript调试技巧,它比console.log有何优势,如何使用断点调试定位问题,通过本文,我们将深入解答这些问题,带您从理论到实... 目录观点与案例结合观点1观点2观点3观点4观点5高级调试技巧详解实战案例断点调试:定位变量错误性能分

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo