IDEA编译报错:Error:java:无效的源发行版:17的解决办法
作者:全栈小哥 发布时间:2023-08-25 10:38:06
出现这种错误的原因可能是:
1.本机默认使用(编译)的jdk与该项目所使用的jdk版本不同。
2.jdk版本不适用于这个Idea,很典型的一个例子就是使用的Idea是2020的,而你用到的jdk是17,jdk17是2021年推出的,所以你只能去安装新版本的idea。
如果报错Error:Auto build failure: Cannot determine path to 'tools.jar' library for 17 (/Library/Java/JavaVirtualMachines/jdk-17.0.4.1.jdk/Contents/Home)也是这个原因导致的。
该项目用的是什么版本的jdk请打开pom.xml查看:
如何解决:
1.修改项目使用的jdk版本,但是如果本来使用的是17,你降级为8,就可能导致某些代码不能实现。 (具体内容请看下面⬇️)
2.安装新版本的Idea从而可以使用新的jdk。(我的另一篇博客说明如何安装IDEA2022,mac版本PoJie)
步骤如下:
1. Preferences->
按如下路径找到java compiler
以下这两处改成8(我的jdk是1.8,如果你的是18,就改成18)
关于怎么知道这个项目用的jdk是多少,下一步可以看到
点击OK
下一步 ,file里找到project structure
如下图,可以看到我使用的jdk版本是1.8
此处对应选择8
接下来在Modules里将红色框里改成8(截图中我还没改,这是我报错的原因)
点击OK,重新编译就OK啦。
ps:当你重导maven项目的之后,再编译可能还会遇到这个问题,按照我上面的办法修改即可,当然你也可以直接去修改pom.xml配置文件,这样子就不会再出现版本问题了。
2.修改pom.xml文件的配置信息
根据报错的信息提供的内容,它说的是某个版本太高需要修改。
3.总结
之前我创建springboot项目的时候还没有爆过这个错误,但是最近我新创建springboot项目时,给我爆了这么一个错误。我找了挺久发现没有详细的解决方法,然后我对比了以前创建的没有爆过错的pom文件,发现上图的两个地方不一样,然后我修改之后就可以成功运行了。然后我回想了一下出现这个问题错误的原因是在哪里,我从刚开始的创建项目开始一步步的观察,最后发现一个地方,问题出现的原因就是在这里。如下图所示:
来源:https://blog.csdn.net/lq5673575/article/details/128421483
猜你喜欢
- 简介Arthas 是Alibaba开源的Java诊断工具,动态跟踪Java代码;实时监控JVM状态,可以在不中断程序执行的情况下轻松完成JV
- 前言在电商的应用中,最常见的就是在首页或完成某事件之后,弹出一堆的活动/广告。假如重叠弹出,很丑,给用户的体验也不好,所以一般都会依次依条件
- 前言最近在逛博客的时候看到了有关Redis方面的面试题,其中提到了Redis在内存达到最大限制的时候会使用LRU等淘汰机制,然后找了这方面的
- 本文实例为大家分享了java图形用户界面实现菜单功能的具体代码,供大家参考,具体内容如下题目:编写一个图形用户界面,实现菜单的功能。有3个一
- 通常同步意味着一个任务的某个处理过程会对多个线程在用串行化处理,而
- 业务场景我们知道在使用PageHelper分页插件时,会对执行PageHelper.startPage(pageNum, pageSize)
- 使用自定义注解实现接口限流在高并发系统中,保护系统的三种方式分别为:缓存,降级和限流。限流的目的是通过对并发访问请求进行限速或者一个时间窗口
- 6.0的手机对于写入手机需要申请权限的我做了如下处理下面我贴出代码package com.example.admin.sdapplicati
- filter自定义过滤器 增加了 对验证码的校验package com.youxiong.filter;import com.y
- 本文介绍Android中的5种数据存储方式。数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是
- 概述LruCache的核心原理就是对LinkedHashMap的有效利用,它的内部存在一个LinkedHashMap成员变量,值得注意的4个
- 近期,Apache SkyWalking 修复了一个隐藏了近4年的Bug - TTL timer 可能失效问题,这个 bug 在 SkyWa
- 每种编程语言都有自己操作内存中元素的方式,例如在 C 和 C++ 里是通过指针,而在 Java 中则是通过“引用”。在 JDK.1.2 之后
- 第一步:后端简单建个SpringBoot项目,提供一个 helloWorld接口;版本选用 2.2.6.RELEASEpackage com
- 一. switch分支结构1. 简介switch结合case,能够判断一个变量或表达式与一系列值中的某个值是否相等,这里的每个值都被称为一个
- 一,FileWritter写入文件FileWritter, 字符流写入字符到文件。默认情况下,它会使用新的内容取代所有现有的内容,然而,当指
- 简介备忘录设计模式(Memento Design Pattern)也叫作快照(Snapshot)模式,主要用于实现防丢失、撤销、恢复等功能。
- 在导入studio工程的时候,进行sync的时候,提示Error:Configuration with name 'default&
- 记录一下使用IDEA创建servlet并使用Tomcat本地部署的过程。需要安装好的软件首先IDEA社区版不支持Java EE,因此要使用U
- 前言作为大数据家族中的重要一员,在大数据以及海量数据存储方面,hbase具有重要的地方,本篇将从java对hbase的操作上,进行详细的说明