我是新手第一次编译hadoop源码,期间遇见了许多的坑,网上不少文章给予了我极大帮助,其中这篇文章Hadoop 3.2.1 win10 64位系统 vs2015 编译 - 一字千金 - 博客园给予的帮助是最大的。这篇文章可以说是手把手的讲解了win10 64位系统下编译hadoop的整个过程,不过由于我是新手,在编译的期间还是踩了一些新手会踩的坑,现总结如下:
1、jdk的版本最好选择1.8版。开始不明白为什么网上的相关文章用的都是1.8版,明明有着新版,却放着不用,最后在编译的过程中才发现hadoop的编译会用到javah这个命令,而这个命令在jdk10以后整合进了javac,也就是说新版的jdk不再有javah这个命令,编译到这里时会报错。
2、几乎每一篇文章都说了一个事,就是安装的各个工具路径一定要短,这因为在编译的过程中有些命令的执行会出现非常长的,长到令人发指的路径,这有可能引起windows最大路径长度的异常,而导致编译失败。我这里要强调的是Maven的本地仓库的目录也应该尽量短,我在编译的过程中就遇见由于这个路径稍微长了一点引起了编译失败,所以一定要重新设置Maven的本地仓库。这个是在Maven的安装目录下,conf目录下的settings.xml中进行设置。
在这个位置加上<localR