maven编译始终提示无效的目标发行版的解决方法

复制代码
摘自个人印象笔记2021-05-07:https://app.yinxiang.com/fx/55e1d5f4-aeea-446a-a768-0f1a48195f5b(图显示不完整可查看原笔记内容)

1:确保IDE中的编译版本正确

在idea中,主要看项目属性中和setting的java compiler中对应的jdk版本是否正确,如下:

项目属性中查看:

setting中查看:

2:确保pom文件中的maven-compiler-plugin插件配置正确
org.apache.maven.plugins maven-compiler-plugin 3.1 1.9 1.9

3:如果mvn compile编译提示如下异常信息:

ERROR\] To see the full stack trace of the errors, re-run Maven with the -e switch. \[ERROR\] Re-run Maven using the -X switch to enable full debug logging. 可使用以下命令显示mvn编译详细信息: mvn -X -U clean compile 4:如果以上1、2项都正确,但仍然提示"无效的目标发行版",则需要重点注意: 用以下命令查看mvn所使用的jdk是哪个版本: mvn -version 输出如下字样: 注意,其中的Java version代表着maven使用的jdk版本,此版本要和maven-compiler-plugin插件中配置的source和target的版本相对应! 比如以上图中配置的编译版本是1.9,但是maven实际使用的是1.8的jdk,则会提示"无效的目标发现版本:1.9"!!! 原理: Maven是从JAVA_HOME变量中而不是从PATH环境变量中获取的Java版本,所以本机即使配置的1.9的默认jdk,但是由于JAVA_HOME指向的是另外一个jdk,就会出现编译版本的问题!

相关推荐
李慕婉学姐10 小时前
【开题答辩过程】以《基于JAVA的校园即时配送系统的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·开发语言·数据库
奋进的芋圆12 小时前
Java 延时任务实现方案详解(适用于 Spring Boot 3)
java·spring boot·redis·rabbitmq
sxlishaobin12 小时前
设计模式之桥接模式
java·设计模式·桥接模式
model200512 小时前
alibaba linux3 系统盘网站迁移数据盘
java·服务器·前端
荒诞硬汉12 小时前
JavaBean相关补充
java·开发语言
提笔忘字的帝国12 小时前
【教程】macOS 如何完全卸载 Java 开发环境
java·开发语言·macos
2501_9418824813 小时前
从灰度发布到流量切分的互联网工程语法控制与多语言实现实践思路随笔分享
java·开发语言
華勳全栈13 小时前
两天开发完成智能体平台
java·spring·go
alonewolf_9913 小时前
Spring MVC重点功能底层源码深度解析
java·spring·mvc
沛沛老爹13 小时前
Java泛型擦除:原理、实践与应对策略
java·开发语言·人工智能·企业开发·发展趋势·技术原理