已经把JDK设置为21了,为什么运行检测Java版本的类却显示22版本的jdk?

问题

mark一下,不然后面再出现同样问题就忘记怎么解决了T^T

使用的是IDEA的社区版,安装过Oracle下exe版本的jdk22,在IDEA配置使用的JDK是jdk21。

编译compile 和 打包package 的时候,出现下面的报错:

[INFO] --- maven-compiler-plugin:3.13.0:compile (default-compile) @ chloe --- 
[INFO] Recompiling the module because of changed source code. 
[INFO] Compiling 1 source file with javac [debug parameters release 21] to target\classes 
[INFO] ------------------------------------------------------------- 
[ERROR] COMPILATION ERROR :  
[INFO] ------------------------------------------------------------- 
[ERROR] /D:/DevelopFile/idea/chloe-ai-agent/src/main/java/com/chloe/aiagent/ChloeAiAgentApplication.java:
[3,32] 无法访问org.springframework.boot.SpringApplication   
错误的类文件: D:\Develop\apache-maven-3.6.3\mvn-repository\org\springframework\boot\spring-boot\3.4.5\spring-boot-3.4.5.jar(org/springframework/boot/SpringApplication.class)     
类文件具有错误的版本 61.0, 应为 52.0     
请删除该文件或确保该文件位于正确的类路径子目录中。

但是我的项目已经配置好了:

解决

上面的设置是设置project项目的sdk,但是run的时候,有run的configuration,也就是run的时候有run的配置,在这里

这个才是run的时候用的配置,所以project和run的configuration配置是不一样的。

前者用在开发发布时候,ide会根据这个设置,作出相应的高亮,即时纠错等提示;后者用在测试和debug时候。

还有一个release的时候,一般项目用的是maven的管理,所以release时候,用的是mvn:pakcage这些,这时候用的是maven的configuration,在这里:

所以什么时候用什么配置,搞清楚就不会错了。

参考:(7 封私信 / 55 条消息) 我已经把JDK设置为21了,为什么运行检测Java版本的类却显示22版本的jdk? - 知乎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值