聊聊maven与jdk版本对应关系

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版本对应关系_第1张图片

在网上查资料发现是maven版本与jdk版本不一致导致的。

解决方式(windows)

1.mvn -version 查看本地的maven版本

java -version 查看本地的jdk版本

2.点击 http://maven.apache.org/docs/history.html

查看maven与jdk版本对应关系

聊聊maven与jdk版本对应关系_第2张图片

3.现在一目了然,保证本地的maven与jdk一致问题就没了,重新构建打包ok。

maven和java的jdk版本不同

添加了JDK14,环境变量配置如下(之前的8也留着,以备切换使用)

然后,查询了jdk的版本,因为要使用maven,顺便也查询了下maven的版本。看看,看看,两个JAVA版本不同唉

聊聊maven与jdk版本对应关系_第3张图片

怎么改成一样的呢?

1. JDK就是当前要设置的14,没毛病。

2. 检查下maven的配置吧,maven/config/setting.xml

聊聊maven与jdk版本对应关系_第4张图片

搜索JDK就这些,而且还被注释掉了。算了,当他不存在吧。

3. 查看下maven的运行脚本(mvn.cmd)

聊聊maven与jdk版本对应关系_第5张图片

搜索JAVA,呵呵,JAVA_HOME,我的java_home是啥呢?再看看我的环境变量(图1),java_home就是1.8啊。

来来来,换个名字,有图有真相【记得改PATH环境变量引用记得改PATH环境变量引用,记得改PATH环境变量引用(JAVA14_HOME改成JAVA_HOME)】

保存后,再打开个cmd窗口,结果来啦

聊聊maven与jdk版本对应关系_第6张图片

啦啦啦啦~~~~~

就是我要得结果啦,美~~~~~

备注: Java的环境变量名称最好设置为JAVA_HOME,若有多个jdk版本,只设置自己想用的那个版本,不用都设置在环境变量中。想换版本时,直接修改java_home对应的目录即可。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的