问题
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? - 知乎