Java環境變量配置詳解
作為一個java開發者,在每次裝完jdk之后,都需要配置一下java的環境變量
JAVA_HOME:C:\Program Files\Java\jdk1.8.0_101(你的電腦上jdk的安裝路徑,因人而異)
CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
作為一個重裝系統的狂魔,大二到大三已經不知道配置過多少次這玩意了,但每次都要百度知道這玩意怎么配,而且每次都不知道這寫的是什么意思。下面我們來一個一個分析。
-
JAVA_HOME
它指向jdk的安裝目錄,Eclipse/NetBeans/Tomcat等軟件就是通過搜索JAVA_HOME變量來找到并使用安裝好的jdk。 沒什么好說的,大家應該都能看懂吧。
-
Path環境變量
作用是指定命令搜索路徑,在shell下面執行命令時,它會到PATH變量所指定的路徑中查找看是否能找到相應的命令程序。我們需要把 jdk安裝目錄下的bin目錄增加到現有的PATH變量中,bin目錄中包含經常要用到的可執行文件如javac/java/javadoc等待。“%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;“這里的%%其實就是引用之前寫好的JAVA_HOME,所以直接寫成”C:\Program Files\Java\jdk1.8.0_101、JAVA_HOME%\bin“也不會有問題
-
CLASSPATH環境變量(重點介紹)
- 首先先介紹一下CLASSPATH在java中代表什么,根據《Thinking In Java》中的解釋解釋器在運行java的時候首先CLASSPATH環境變量,CLASSPATH包含一個或多個目錄,用于查找class文件的根目錄。在java的代碼中我們經常寫到import *..之類什么的,那Java的編譯器又是怎么找到具體的類路徑呢。答案就在CLASSPATH中。
- 當編譯器遇到import語句時,就會在CLASSPATH的目錄下查找,比如”import java.util.ArrayList;“,那么就會在CLASSPATH路徑下查找java/util/ArrayList.java,如果沒找到就會報錯。
”.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;“,一點一點來,首先是".;",開始最讓我感到疑惑的就是這玩意是干嘛的,度娘了半天才知道這個是告訴JDK,搜索CLASS時先查找當前目錄的CLASS文件。%JAVA_HOME%同樣是對已經設置的環境變量的引用,后面的tools.jar是工具類庫,我們平時用到的:
javac XXX.java
實際上就是運行
javac -Calsspath=%JAVA_HOME%/lib/tools.jar xx.xxx.Main XXX.java
dt.jar是關于運行環境的類庫,如果不做swing的開發,這個也可以不加
-
既然CLASSPATH環境這么重要,如果我們在開發時不設置這玩意會有什么影響嗎?在簡單作死了一下,把CLASSPATH環境變量給刪了,然后運行之前的項目,居然發現。。。。。。。
一點影響也沒有!!!然后我在命令行中嘗試運行javac XXX.java ,居然也沒錯。表示整個人都思密達了,感覺自己試試被騙了。萬事不行找谷歌,后來才發現,jdk1.6之后就不需要配置這玩意了,坑爹呢這是,那你剛剛說那么多不都是廢話嗎。不過建議還是配一下,學習一下原理也是不錯的,以后出去也能裝裝逼嘛。不過其它兩個是一定要配置的。