jdk环境变量设置问题综述

来源:百度文库 编辑:神马文学网 时间:2024/04/27 22:52:17
在windows下设置java环境变量的问题,之前安装jdk1.6是安装在c:\Program Files\java目录下,然后安装的eclipse,netbeans都是以这个为jdk目录,可是后来搞hadoop,指定hadoop的jdk目录为c:\Program Files\java,因为是在cygwin下模拟linux环境,设置的jdk目录c:\Program Files\java是含空格的,老是报错,于是干脆重新安装了jdk1.6,安装在e盘根目录下,然后打算以后就用这个做公共的jdk目录,这下问题就出来了,重新安装jdk1.6的时候,安装程序提示删除原先安装在c:\Program Files\java下的jdk1.6,安装完后,是删除了,但c:\Program Files\java下还留有jre1.6这个目录,接下来遇到的问题如下:
1、环境变量的问题,将以前设置的环境变量JAVA_HOME修改过来,同时将path中的jdk路径也修改过来了,在命令行下运行java -version命令查看版本信息,是对的,这时我便以为命令行调用的确实是新安装在e盘根目录下的jdk中的命令,可是后来发现不是。
2、因为在运行hadoop的时候,默认在没有修改其配置文件指定jdk的情况下运行,报错说c:\Program目录不存在,这是因为空格的原因,难道系统还是会在c:\Program Files\java目录下去找java命令,然后我在其配置文件中指定了JAVA_HOME为e:/jdk1.6,才没报错说找不到JDK。
3、为了弄明白系统究竟是调用的c:\Program Files\java\jre1.6中的命令还是e:/jdk1.6中的命令,因为前面说过c:\Program Files\java下还留有jre1.6这个目录还在,于是我删除了c:\Program Files\java\jre1.6下的部分文件,结果,在命令行下运行java命令的时候就报错了,看来系统果然还是调用c:\Program Files\java\jre1.6中的命令,为什么会是这样呢,难道在我的电脑的属性里设置的环境变量都不起作用了吗,于是我再设置我的电脑的属性里设置的环境变量,将JAVA_HOME等胡乱的改,然后运行java命令,发现仍然能正常运行,我更确信了这一点。同时我发现当我删除了c:\Program Files\java\jre1.6下的部分文件后,发现eclipse也启动不了了,说是在c:\Program Files\java目录等错误,看来eclipse也还是调用以前的jre。
4、看来确实是我的电脑的属性里设置的环境变量都不起作用,然后查资料说是要改注册表,要在注册表中HKEY_LOCAL_MACHINE/SOFTWARE/JAVASOFT/JAVA RUNTIME ENVIRONMENT/CurrentVersion中做修改,我打开注册表看了下,果然如此,注册表里面设置的jre还是c:\Program Files\java\jre1.6,我将其全部改成e:/jdk1.6/jre后,就可以了,eclipse也可以运行了,大功告成,原来还有注册表这一关。
5、环境设置好后,我想把c:\Program Files\java\jre1.6这个目录删掉,反正前面已经损坏了,但删除时却报错,总有几个文件删不掉,看的很头痛,后来用360的软件卸载功能才删掉,这时才发现360的软件卸载功能好强大,删的很彻底,很干净,尤其是卸载完后,还有一个残余文件清除的功能,是把残留文件和注册表关联信息也去掉,这样才把c:\Program Files\java\jre1.6彻底删掉。