我们编程经常遇到第三方工具包,今天就要将hdfs的操作编程化,即客户端操作,看了个网课给我弄傻逼了。
事情是这样的:
老师说要去hadoop官网下载hadoop的压缩包,配置环境变量,还没完,还得把依赖添加到Maven的pom里,当时我就蒙了,怎么个jar包还得环境变量呢?后来继续看了看,这个工具包其实就是正常的API,继续深入发现,确实这样做是多此一举
Maven将下载下的jar包放到了本地仓库,而setting.xml中早已配置好本地仓库的位置,那么IDE通过setting.xml的指引,直接找到jar包,这其实就是环境变量的效果。
那么为什么很多东西还是需要配置环境变量呢,而有些东西却又不需要环境变量呢?拿java来说,当你电脑第一次安装java的时候,cmd知道你java在哪吗?知道python在哪吗?不知道,所以需要环境变量的指引,那么python的配置好后,为什么第三方工具包就不需要环境变量了呢?原因很简单,连一个小白都知道,python的第三方工具包在lib下的site-package中,那么python其实本就配置了去 该目录下找工具包,这其实也是环境变量的作用。
总结,无论Maven的本地仓库,Python的site-package还是狗屁环境变量,效果都是一样的,都是让程序知道,我需要的工具包到底在哪。