解決java -version 系統找不到文件 C:\ProgramData\Oracle\Java\javapath\java.exe的問題

一、問題出現        

        最近爲了調試一個項目,需要啓動一個項目,但啓動一直有問題。電腦是64位的,但這個項目用的是32位的JDK,於是想看下安裝的環境有沒有問題,在CMD窗口輸入:java -version,結果出問題了。。。如下截圖。

說明:電腦中安裝的jdk如果是64位,則在路徑中會帶上64,如果是32位的並沒有在路徑中帶上32。 

 

二、解決

        我去看了環境變量的配置,但還是有問題,於是我按照這個路徑,發現有三個文件。

        看了第一個文件java.exe的屬性,從它對應的路徑來看,是我安裝的64位的JDK,所以雖然我改變了環境變量,將JAVA_HOME指向了32位的JDK,但這裏的文件還是64位的。

        左鍵雙擊java.exe,結果如下圖,這裏的java.exe其實是安裝的64位JDK中java.exe的一個快捷方式,其它的兩個也都是快捷方式。

        考慮了下,把這三個文件刪除了,然後再在CMD窗口執行java -version,結果正常了,jdk已經換到32位的了。

        此時如想把JDK換回64位的呢?我把JAVA_HOME的配置信息改成了64位的,在剛纔的CMD窗口上繼續執行java -version,但顯示沒有變過去,於是我把CMD窗口關了重新打開,然後輸入java -version,此時已經變回到64位的了。

 

三、問題分析        

        現在問題已經解決了,來分析下爲什麼會有這種情況。個人以爲,最開始我配置的是64位的JDK,而且已經使用了一段時間了,在使用的過程中(比如J2EE項目運行)會把按照配置的JAVA_HOME路徑加載java.exe、javaw.exe、javaws.exe,並在某一默認的路徑【本電腦是C:\ProgramData\Oracle\Java\javapath\】下生成以上三個文件的快捷方式。而在改變JAVA_HOME的時候,這三個文件的快捷方式仍然是之前,所以就會有問題了。有人說把%JAVA_HOME%\bin放在path變量的最前面,這個不一定會有效,如果這三個文件在C:\ProgramData\Oracle\Java\javapath\中已經被刪除了,我覺得是會有用的,但如果還是存在就難說了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章