在build hadoop源代码的时候,报了如下的错误:
Missing tools.jar at: /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/Classes/classes.jar
主要是因为最近出的新版java,把原来的tools.jar给整合了一下。
所以很多以前老的找tools.jar包的程序就执行不了,解决方案就是给新的包搞一个链接。
通俗易懂一点就是,相当于搞一个快捷方式,只要是找tools.jar的内容,那么refer去classes.jar里找。
具体就是执行一下命令行:
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/lib /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/Classes
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/lib/tools.jar /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/Classes/classes.jar
“ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。”