编译maven工程报错 无效的目标发行版: 21 解决方法

1,370 阅读1分钟

今天创建了一个jdk21的maven项目,编译的时候死活不行,报错"无效的目标发行版: 21",然后就上网查看了一些解决方案如下:

IDEA Maven构建时报错:无效的目标发行版17

错误: 无效的目标发行版:21

但是我看了我的工程,上面说的地方都是对的,但是还是不行,一怒之下我就把环境变量配置的JAVA_HOME给删了,这个时候再编译,报错变了,变成了"[WARNING] Unable to autodetect ‘javac‘ path, using ‘javac‘ from the environment.",我就想是不是还有地方需要配置环境变量?

于是又搜了上面新的报错,感谢下面这个老哥的文章,完美解决了问题

[WARNING] Unable to autodetect ‘javac‘ path, using ‘javac‘ from the environment.

下面说下具体原因,后面遇到这个问题的兄弟也可以做个参考

image-20250511224400976

由于我之前配置了JAVA_HOME为jdk1.8的路径,编译工程还是用的jdk1.8编译的,所以编译jdk21的工程会报错"无效的目标发行版: 21",我把环境变量删了后,这里没有配置JDK的环境变量,所以又报了"Unable to autodetect ‘javac‘ path",因此这里需要配置与工程匹配的的JDK路径即可

image-20250511230646366