在windows下設(shè)置java環(huán)境變量的問題,之前安裝jdk1.6是安裝在c:\Program Files\java目錄下,然后安裝的eclipse,netbeans都是以這個為jdk目錄,可是后來搞hadoop,指定hadoop的jdk目錄為c:\Program Files\java,因為是在cygwin下模擬linux環(huán)境,設(shè)置的jdk目錄c:\Program Files\java是含空格的,老是報錯,于是干脆重新安裝了jdk1.6,安裝在e盤根目錄下,然后打算以后就用這個做公共的jdk目錄,這下問題就出來了,重新安裝jdk1.6的時候,安裝程序提示刪除原先安裝在c:\Program Files\java下的jdk1.6,安裝完后,是刪除了,但c:\Program Files\java下還留有jre1.6這個目錄,接下來遇到的問題如下:
1、環(huán)境變量的問題,將以前設(shè)置的環(huán)境變量JAVA_HOME修改過來,同時將path中的jdk路徑也修改過來了,在命令行下運行java -version命令查看版本信息,是對的,這時我便以為命令行調(diào)用的確實是新安裝在e盤根目錄下的jdk中的命令,可是后來發(fā)現(xiàn)不是。
2、因為在運行hadoop的時候,默認(rèn)在沒有修改其配置文件指定jdk的情況下運行,報錯說c:\Program目錄不存在,這是因為空格的原因,難道系統(tǒng)還是會在c:\Program Files\java目錄下去找java命令,然后我在其配置文件中指定了JAVA_HOME為e:/jdk1.6,才沒報錯說找不到JDK。
3、為了弄明白系統(tǒng)究竟是調(diào)用的c:\Program Files\java\jre1.6中的命令還是e:/jdk1.6中的命令,因為前面說過c:\Program Files\java下還留有jre1.6這個目錄還在,于是我刪除了c:\Program Files\java\jre1.6下的部分文件,結(jié)果,在命令行下運行java命令的時候就報錯了,看來系統(tǒng)果然還是調(diào)用c:\Program Files\java\jre1.6中的命令,為什么會是這樣呢,難道在我的電腦的屬性里設(shè)置的環(huán)境變量都不起作用了嗎,于是我再設(shè)置我的電腦的屬性里設(shè)置的環(huán)境變量,將JAVA_HOME等胡亂的改,然后運行java命令,發(fā)現(xiàn)仍然能正常運行,我更確信了這一點。同時我發(fā)現(xiàn)當(dāng)我刪除了c:\Program Files\java\jre1.6下的部分文件后,發(fā)現(xiàn)eclipse也啟動不了了,說是在c:\Program Files\java目錄等錯誤,看來eclipse也還是調(diào)用以前的jre。
4、看來確實是我的電腦的屬性里設(shè)置的環(huán)境變量都不起作用,然后查資料說是要改注冊表,要在注冊表中HKEY_LOCAL_MACHINE/SOFTWARE/JAVASOFT/JAVA RUNTIME ENVIRONMENT/CurrentVersion中做修改,我打開注冊表看了下,果然如此,注冊表里面設(shè)置的jre還是c:\Program Files\java\jre1.6,我將其全部改成e:/jdk1.6/jre后,就可以了,eclipse也可以運行了,大功告成,原來還有注冊表這一關(guān)。
5、環(huán)境設(shè)置好后,我想把c:\Program Files\java\jre1.6這個目錄刪掉,反正前面已經(jīng)損壞了,但刪除時卻報錯,總有幾個文件刪不掉,看的很頭痛,后來用360的軟件卸載功能才刪掉,這時才發(fā)現(xiàn)360的軟件卸載功能好強(qiáng)大,刪的很徹底,很干凈,尤其是卸載完后,還有一個殘余文件清除的功能,是把殘留文件和注冊表關(guān)聯(lián)信息也去掉,這樣才把c:\Program Files\java\jre1.6徹底刪掉。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。