前兩天弄了個自動配置JDK環境變數的小工具(詳情:http://www.cnblogs.com/chr-wonder/p/5208541.html)。在調試過程中發現了一些小問題。在此做以記錄。 在寫入Path環境變數過程中,由於我是在Path變數的末尾添加新項的,所以為了避免和原有的項衝突(或者說
前兩天弄了個自動配置JDK環境變數的小工具(詳情:http://www.cnblogs.com/chr-wonder/p/5208541.html)。在調試過程中發現了一些小問題。在此做以記錄。
在寫入Path環境變數過程中,由於我是在Path變數的末尾添加新項的,所以為了避免和原有的項衝突(或者說粘連),在我插入的項的最前端插入了一個;(分號),以分隔新的項。但是,在寫入了Path變數後,Path變數並未生效。這讓我很納悶。
首先我考慮到,是不是因為我寫在了用戶環境變數中。我迅速否決了這個想法,因為用戶環境變數,和系統環境變數(對當前用戶來說)有相同的作用。
然後我考慮到,是否是需要重啟。但是其他環境變數都生效了,唯獨Path不起作用。不死心,重啟後再次測試,Path依舊沒有生效。
最後,我仔細檢查了我所插入的環境變數。發現 由於我所測試的系統是剛安裝的新系統,在我寫入環境變數前,用戶環境變數中並沒有Path變數。所以我所修改過的Path變數就成了:";%JAVA_HOME%……" 這樣以;(分號)開頭。在我刪除分號之後,Path變數正常生效。
在我進行了一些測試之後,發現 Path變數以;(分號)開頭,會導致Path變數失效。至此找到了環境變數失效的源頭。
為什麼Path變數以;(分號)開頭就會失效,我暫時也不明白,只是從測試中得到這樣一個現象(也不排除是個例)。如果有誰知道,請不吝賜教,感激不盡。要是有什麼相關問題,也請留言,互相學習,麽麽噠(づ ̄ 3 ̄)づ。