聊聊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版本不一致導致的。

解決方式(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對應的目錄即可。

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: