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,就会出现编译版本的问题!

相关推荐
donotshow8 小时前
Spring Boot 整合 ShedLock 处理定时任务重复
java·后端
不够优雅8 小时前
【Concept Plugin 3】轻量级插件化解决方案|动态类加载
java·spring boot·spring cloud
程序员三明治9 小时前
选 Redis Stream 还是传统 MQ?队列选型全攻略(适用场景、优缺点与实践建议)
java·redis·后端·缓存·rocketmq·stream·队列
Cosmoshhhyyy12 小时前
《Effective Java》解读第5条:优先考虑依赖注入来引用资源
java
.柒宇.14 小时前
力扣hot100----15.三数之和(java版)
java·数据结构·算法·leetcode
程序员卷卷狗14 小时前
JVM 调优实战:从线上问题复盘到精细化内存治理
java·开发语言·jvm
cj63411815014 小时前
【MySQL】mysqldump使用方法
java·后端
JIngJaneIL14 小时前
停车场管理|停车预约管理|基于Springboot的停车场管理系统设计与实现(源码+数据库+文档)
java·数据库·spring boot·后端·论文·毕设·停车场管理系统
杰克尼15 小时前
二分查找为什么总是写错
java·数据结构·算法
半旧夜夏17 小时前
【分布式缓存】Redis持久化和集群部署攻略
java·运维·redis·分布式·缓存