当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/120289.html

相关文章:

  • 系统架构设计高级技能 · 软件可靠性分析与设计(三)【系统架构设计师】
  • 界面控件DevExpress WPF Chart组件——拥有超快的数据可视化库!
  • 【网络安全】等保测评安全物理环境
  • Intellij IDEA 导入 eclipse web 项目详细操作
  • 安卓java A应用切换到B应用,来回切换不执行OnCreate
  • 【Linux】批量恢复文件权限
  • 数据可视化(八)堆叠图,双y轴,热力图
  • 前台自动化测试:基于敏捷测试驱动开发(TDD)的自动化测试原理
  • 基于SLAM的规划算法仿真复现|SLAM|智能规划
  • sqlite3多线程操作问题
  • ACCESS数据库增删改查
  • 动捕系统mockup_optitrack替换为VRPN传递信息
  • 【服务平台】Rancher运行和管理Docker和Kubernetes,提供管理生产中的容器所需的整个软件堆栈
  • 二叉树的完全性检验
  • 激活函数总结(六):ReLU系列激活函数补充(RReLU、CELU、ReLU6)
  • tp5中的事务处理
  • 论文总结《Towards Evaluating the Robustness of Neural Networks(CW)》
  • 2024重庆邮电大学软件工程809题库(带答案)
  • 三种目标检测方法(基于传统数字图像处理的识别方法、基于传统机器学习的识别方法和基于深度学习的识别方法)的区别
  • 制造业为什么要建设数字化供应链
  • webrtc Thread 和 TaskQueue 的 应用和思考
  • 无涯教程-Perl - pos函数
  • 【腾讯云 Cloud Studio 实战训练营】使用Cloud Studio构建Java、Python项目
  • Java的Class类:每一个类都对应着一个Class对象
  • JavaScript预编译机制
  • 【ARM 嵌入式 编译系列 4.1 -- GCC 编译属性 likely与unlikely 学习】
  • 《算法竞赛·快冲300题》每日一题:“造电梯”
  • NSS [MoeCTF 2022]baby_file
  • 喜报!诚恒科技与赛时达科技达成BI金蝶云星空项目合作
  • Vscode python调试和运行环境设置