我們在安裝JDK之后,都要進行JDK環境變量的配置。然而,這個環境變量一定要自己配置嗎?那先來看看什么是環境變量。
所謂環境變量,其實就是操作系統用來指定操作系統運行環境的一些參數,當用戶要求系統運行一個程序而沒有告訴它程序所在的完整路徑時,先在當前目錄下面尋找此程序(.exe文件),如果沒找到,繼續到環境變量的Path中指定的路徑值去找,如下圖所示Path參數中的值。
圖1
上圖中的環境變量Path中已經配置好了JDK的bin目錄(就是%JAVA_HOME%\bin),所以在DOS窗口下的任何路徑下輸入任何此目錄的命令(其實就是可執行的.exe文件),都可以成功。
圖2
現在我們回到一開始的疑問,JDK的路徑一定配置到環境變量里面嗎?答案是:不是必須的,配置這些環境變量是為了我們編程,執行程序的方便。誰也不想,自己的程序必須跟
java, javac 放在同一路徑下的,況且把JDK安裝在系統盤時不可以隨便創建文件的。
所以我們需要把java和javac命令所在的目錄提供給系統,就是自己定義一個變量%JAVA_HOME% = "C:\Program Files\Java\jdk1.8.0_221\bin",然后追加到系統環境變量path中,
當然,可以直接把”C:\Program Files\Java\jdk1.8.0_221\bin“追加到path中。
CLASSPATH的作用:
classpath是指定你在程序中所使用的類(.class)文件所在的位置,程序運行時JRE要去搜索你在程序中用到的基礎類等的(.class文件)如:java.lang。
Java中的基礎類都在rt.jar這個包中,而這個包就在classloader的加載路徑里面,所以不需要配置在classPath中。
classPath配置時通常是 ”.; C:\Program Files\Java\jdk1.8.0_221\lib\tools.jar; C:\Program Files\Java\jdk1.8.0_221\lib\dt.jar“。
第一個是”.“,意思是當前路徑
第二個是”tools.jar“,這個包里的東西主要是編譯Java文件時用的,給javac命令用的。
第三個是”dt.jar“,這個包里面有java.swing等的類。
在Java1.5之前,上面兩個包不在類加載器路徑中,jre搜索不到,所以要手動加入到環境變量中告訴jre。java1.5之后,任何Java自身平台的類包,都不需要
在環境變量classpath中聲明了,只是第三方類庫或自身定義類需要時,可以用classpath環境變量中添加,但一般不這么做,因為太受限,可能還會影響以后其他的類,
可以使用 Java命令的-classpath 單獨為應用程序設置,不再單純的加入到環境變量中去。
因此, classpath環境變量, 在現在的JDK使用時是不需要配置的。
最后需要注意的是,上面講的這些僅是你在不適用任何IDE工具進行開發的時候,需要這么做。如果用的像eclipse這種內置JDK的開發工具可以不用配置環境變量,具體參照上篇【eclipse啟動順序】。
只需要裝一個JRE用來運行Eclipse就可以了。因為Eclipse是Java開發的應用程序,需要JVM運行。