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的区别

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/172164.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录算法训练营第四十六天【动态规划part08】 | 139.单词拆分、背包总结

139.单词拆分 题目链接: 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 求解思路: 单词是物品,字符串s是背包,单词能否组成字符串s,就是问物品能不能把背包装满。 动规五部曲 确定dp数…

弹窗concrt140.dll丢失的解决方法,深度解析concrt140.dll丢失的原因

在计算机使用过程中,我们经常会遇到一些错误提示或者系统崩溃的情况。其中,concrt140.dll是一个常见的错误提示,这个错误通常会导致某些应用程序无法正常运行。为了解决这个问题,本文将介绍5种详细的解决方法,帮助您恢…

蓝桥杯官网算法赛(蓝桥小课堂)

问题描述 蓝桥小课堂开课啦! 海伦公式(Herons formula),也称为海伦-秦九韶公式,是用于计算三角形面积的一种公式,它可以通过三条边的长度来确定三角形的面积,而无需知道三角形的高度。 海伦公…

Python 进阶(十):数学计算(math 模块)

《Python入门核心技术》专栏总目录・点这里 文章目录 1. 导入math模块2. 常用数学函数3. 常量4. 其他函数和用法5. 总结 大家好,我是水滴~~ Python的math模块提供了许多数学运算函数,为开发者在数值计算和数据处理方面提供了强大的工具。本教程将详细介…

【100个Cocos实例】看完这个,我再也不要当赌狗了...

引言 探索游戏开发中抽奖转盘的奥秘。 抽奖转盘是一种常见的互动元素,通常用于游戏、营销活动等场景。 本文将介绍一下抽奖转盘的原理和实现。 本文源工程可在文末阅读原文获取,小伙伴们自行前往。 1.抽奖转盘的组成 抽奖转盘的实现涉及多个组成部分…

基于springboot校园车辆管理系统

背景 伴随着社会经济的快速发展,机动车保有量不断增加。不断提高的大众生活水平以及人们不断增长的自主出行需求,人们对汽车的 依赖性在不断增强。汽车已经发展成为公众日常出行的一种重要的交通工具。在如此形势下,高校校园内的机动车数量也…

【KubeSphere】基于AWS在 Linux 上以 All-in-One 模式安装 KubeSphere

文章目录 一、实验配置说明二、实验准备工作1.确认系统版本2. 修改网络DNS3. 关闭SELINUX4. 关闭防火墙 三、实验依赖项安装四、下载 KubeKey五、一键化安装部署六、验证安装结果七、登录KubeSphere管理控制台八、参考链接 一、实验配置说明 本实验基于AWS启动一台新实例&…

I/O多路转接之epoll

承接上文 I/O多路转接之poll-CSDN博客 简介 epoll的相关系统调用 epoll底层原理 编写epoll的server 重新回归一下epoll原理,LT,ET epoll改成ET工作模式 -- 初识(有bug) epoll初识 按照man手册的说法: 是为处理大批量句柄而作了改进的poll. 它是在2.5.4…

CANdelaStudio 使用教程4 编辑State

文章目录 简述1、State Groups2、Dependencies3、 Defaults State1、 会话状态2、 新增会话状态3、 编辑 服务对 State 的依赖关系 State Diagram 简述 1、State Groups 2、Dependencies 在这里,可以编辑现有服务在不同会话状态或安全访问状态的支持情况和状态转换…

粒子群算法Particle Swarm Optimization (PSO)的定义,应用优点和缺点的总结!!

文章目录 前言一、粒子群算法的定义二、粒子群算法的应用三、粒子群算法的优点四、粒子群算法的缺点:粒子群算法的总结 前言 粒子群算法是一种基于群体协作的随机搜索算法,通过模拟鸟群觅食行为而发展起来。该算法最初是由Eberhart博士和Kennedy博士于1…

概念解析 | 玻尔兹曼机

注1:本文系“概念解析”系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:玻尔兹曼机。 概念解析 | 玻尔兹曼机 引言 随着人工智能技术的飞速发展,玻尔兹曼机作为一种重要的生成模型,受到了广泛的关注。 背景介绍 玻尔兹曼机(Boltzmann Machine)是一…

uniapp+vue基于Android的校园二手跳蚤市场的设计与实现 微信小程序

实现功能: 用户管理:登陆、注册、注销、修改密码、上传头像、修改资料 发布与检索:发布商品、模糊搜索、人气排序、价格排序、时间排序、推送商品(协同过滤算法实现个性化推荐),最新发布、分类检索 核心交易…

1、分布式锁实现原理与最佳实践(一)

在单体的应用开发场景中涉及并发同步时,大家往往采用Synchronized(同步)或同一个JVM内Lock机制来解决多线程间的同步问题。而在分布式集群工作的开发场景中,就需要一种更加高级的锁机制来处理跨机器的进程之间的数据同步问题&…

安卓系统修图软件(二)

晚上好,自上一次博主分享修图软件之后,今天博主将带来第二期安卓修图软件的推送,个个都是宝藏,建议大家赶紧体验哦。 1.canva可画 如果说有一款手机APP可以与PS媲美,那么一定非canvas莫属。这款强大的修图软件支持海报…

java springboot测试类虚拟MVC环境 匹配请求头指定key与预期值是否相同

上文 java springboot测试类虚拟MVC环境 匹配返回值与预期内容是否相同 (JSON数据格式) 版 中 我们展示 json匹配内容的方式 那么 本文我们来看看Content-Type属性的匹配方式 首先 我们从返回体可以看出 Content-Type 在请求头信息 Headers 中 我们直接将测试类代码更改如下 …

企业文档文件管理软件推荐:提升管理效率与数据安全性

Zoho WorkDrive企业网盘是一种高效的文件管理工具,它不仅可以为组织搭建统一、高效、安全、智能的内容管理体系,还能够提供大规模支撑、海量数据处理、非结构化数据治理、智能挖掘与洞察等服务能力。通过这些服务,企业可以更好地管理和利用其…

leetcode 41. 缺失的第一个正数

目录 暴力排序 桶排序 桶排序Set 桶排序分治思想 官方题解 桶排序数组内标记 桶排序额外数组标记(更好理解) 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额…

Rust在Web开发中的应用

欢迎关注我的公众号lincyang新自媒体,回复关键字【程序员经典书单】,领取程序员的100本经典书单 大家好!我是lincyang。 今天我们将一起深入探索Rust在Web开发领域的应用。尽管Rust最初设计用于系统编程,但其性能、安全性和现代并…

只狼 资源分享

版本介绍 v1.06版|容量15GB|官方简体中文|支持键盘.鼠标.手柄|赠官方原声4首BGM|赠多项修改器|赠一周目全义手忍具强化通关存档|2020年01月15号更新 只狼中文设置: https://jingyan.baidu.com/article/cb5d6105bc8556005d2fe048.html 只狼键盘对应按键&#xff1…

windows本地dockr的clickhouse链接本地mysql服务,连接不上

不想看过成的,解决办法在最后面 报错信息: SQL 错误 [1000] [08000]: Poco::Exception. Code: 1000, e.code() 0, Exception: Connections to all replicas failed: test1localhost:3306 as user root (version 21.12.3.32 (official build)) , serve…