hadoop map-reduce程序的编译需要依赖hadoop的jar包,我尝试javac编译map-reduce时指定-classpath的包路径,但无奈hadoop的jar分布太散乱,根据自己写的程序来一个个指定jar包的位置又太麻烦,于是又尝试修改java的classpath配置文件,结果不知道为什么编译时还是提示找不到jar包,于是只有用最后一劳永逸的方法:把hadoop的所有jar包都copy到java当前classpath寻找的路径文件中:
我的hadoop安装在/usr/local/hadoop下,java安装在/usr/lib/jvm/jdk1.8
sudo find /usr/local/hadoop -name "*.jar" -exec cp {} /usr/lib/jvm/jdk1.8/jre/lib/ext/ \;
就可以直接javac编译hadoop程序了