1、问题描述
虽然报错了,到那时并没有影响我对hadoop的操作,如下:
2、解决方案
这种情况应该是系统环境变量设置好了,但是JVM并没有识别到,这里我是使用了这行代码手动设置了一下JVM的变量属性,问题得到解决。不过缺点是在每次调用hadoop库的方法的时候都需要设置下,这里采用静态方法的形式调用。这种方式肯定不好,获取类似于yml配置文件,设置全局。
我的这种问题,是系统变量设置好了,但是JVM没有识别到,理论上重启一下IDEA就熬了,但是我没有成功,所以建议重启一下java进程 or 直接重启电脑。这样问题就得以解决了!
3、补充
1、在系统环境变量设置好的情况下,JVM没有识别到环境变量的改变,才出此下策(可以解决报错)。
2、不过有一个更好的解决办法:就是关闭到IDEA,注意(不是重启。是关闭之后重新打开)。
二者的区别在于:关闭IDEA就将java进程java.exe关闭了,再次打开的时候JVM就会重新获取环境变量,此时JVM获取到的环境变量就是正确环境变量。而重启IDEA的话,IDEA为了确保重启的效率,并没有杀掉java的进程,JVM获取到的 环境变量还是之前的错误的,所有就没法解决问题。实在不济,就在配置好环境变量之后重启电脑,最有效。
4、如何确保Java进程(java.exe)被杀掉了?
tasklist findStr java
如果被杀掉了,查不出任何东西,如图:
如果没有被杀掉,如图: