JAVA版本不对导致maven项目无法成功建立(Maven BUILD FAILURE)

最近在学习Hadoop,Linux虚拟机搭建Hadoop集群,Windows环境下搭建开发环境,配置Windows开发环境过程中,遇到了些问题困扰了三天,今天终于解决了,分享一下经验,也吸取吸取教训(太丢人了!QAQ)

开发环境:

JAVA  JDK 8

Maven3.6.3

(安装及环境变量配置略)

开发工具:

Visual Studio Code

安装并配置好上述环境后,利用VScode,搭建maven开发环境,需要在VScode安装Java Extension Pack和Spring Boot Extension Pack两个扩展包,完成后基本就算搭建好了maven开发的环境,我的问题在项目刚建立时就出现了,问题描述如下: 

JAVA版本不对导致maven项目无法成功建立(Maven BUILD FAILURE)

错误描述:大概的意思就是无法从maven远程仓库里下载失败,我在网上搜索的解决方案就是修改maven的setting.xml文件,添加阿里云的下载镜像,然后更新项目。但是我在安装配置maven环境时就已经将setting.xml文件中添加了阿里云的镜像,所以此解决方案不适用。

于是我将注意力放到了maven上,网上搜索了相关操作,刷新了maven仓库,在cmd命令行项目路径下执行mvn -Prelease-all -DskipTests clean install -U命令,结果报错:

JAVA版本不对导致maven项目无法成功建立(Maven BUILD FAILURE)

搜索这堆报错信息,按照网上的操作,所得结果换来如下的另一个报错:

JAVA版本不对导致maven项目无法成功建立(Maven BUILD FAILURE)

上述是mvn help:system命令报错,两次报错信息就让我陷入了死循环,一直把问题重心放到了maven及环境配置上,所以一直在反复找报错信息的解决方案,其中包括重装maven、换旧版maven,浪费了许多时间,最终确定maven没有问题,maven的安装及配置都正确。我又开始怀疑是woVScode环境有问题,于是重装VScode,重配VScode,发现还是一样的无法建立项目,我从头开始,检查了一遍所有需要的环境变量的配置情况,Java,Javac,hadoop version,mvn -v,所有命令都正常运行,就是项目怎么建不起来。于是我打算更换开发工具,换Eclipse搭开发环境,于是下载了64位Eclipse,安装完后打开Eclipse,报错:Failed to load the JNI shared library,Java版本与Eclipse版本不同,于是我又到回头检查Java版本,发现是我一直以为的64位Java是32位的,而且我是通过压缩包安装的Java,尽管java javac 都没有问题,但是其实不是完整的JDK开发工具,这点直接影响了我的maven项目的建立,所以在环境配置都正确的情况下无法建立起项目,产生了上述的报错。

重新下载安装了正确版本的JDK后,Eclipse,正常打开,重新回到VScode,项目报错信息消失,CMD命令行下,mvn help:system不再报错了,Build Success!

JAVA版本不对导致maven项目无法成功建立(Maven BUILD FAILURE)

 总结:

配置环境时检查好版本,依赖关系。一般常见报错信息,网上都会有很多的解决方案,当解决方案不适用于自身情况时,改变思路,从全局出发,仔细检查。就像我这次经历一样,原本时JAVA不匹配而引起的问题,搜到的解决方案却完全不想关。

还有一点自己还是太粗心,装个JDK都能把32位当64位,还满怀自信地用着,有被蠢到QAQ。。。。。。

最后,希望能帮到读到本文的各位,小伙纸我仍需努力,多写代码呀!