maven与jdk版本对应关系
很多搬砖的小伙伴在使用maven项目打包的时候,都会遇到下面的编译问题:
Caused by: java.lang.UnsupportedClassVersionError: org/apache/maven/plugin/compiler/CompilerMojo : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
在网上查资料发现是maven版本与jdk版本不一致导致的。
解决方式(windows)
1.mvn -version 查看本地的maven版本
java -version 查看本地的jdk版本
2.点击 http://maven.apache.org/docs/history.html
查看maven与jdk版本对应关系
3.现在一目了然,保证本地的maven与jdk一致问题就没了,重新构建打包ok。
maven和java的jdk版本不同
添加了JDK14,环境变量配置如下(之前的8也留着,以备切换使用)
然后,查询了jdk的版本,因为要使用maven,顺便也查询了下maven的版本。看看,看看,两个JAVA版本不同唉
怎么改成一样的呢?
1. JDK就是当前要设置的14,没毛病。
2. 检查下maven的配置吧,maven/config/setting.xml
搜索JDK就这些,而且还被注释掉了。算了,当他不存在吧。
3. 查看下maven的运行脚本(mvn.cmd)
搜索JAVA,呵呵,JAVA_HOME,我的java_home是啥呢?再看看我的环境变量(图1),java_home就是1.8啊。
来来来,换个名字,有图有真相【记得改PATH环境变量引用,记得改PATH环境变量引用,记得改PATH环境变量引用(JAVA14_HOME改成JAVA_HOME)】
保存后,再打开个cmd窗口,结果来啦
啦啦啦啦~~~~~
就是我要得结果啦,美~~~~~
备注: Java的环境变量名称最好设置为JAVA_HOME,若有多个jdk版本,只设置自己想用的那个版本,不用都设置在环境变量中。想换版本时,直接修改java_home对应的目录即可。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。