解讀Java環(huán)境變量配置
1、查看當前可用的所有環(huán)境變量(=系統(tǒng)變量+用戶變量)
set
查看某個環(huán)境變量,如PATH
set PATH
添加環(huán)境變量,如xxx=aa
set xxx=aa
將環(huán)境變量(如xxx)的值置為空
set xxx=
在某個環(huán)境變量(如PATH)后添加新的值(如d:\xxx)
set PATH=%PATH%;d:\xxx
[注]:以命令行方式對環(huán)境變量的操作只對當前窗口的應用有效!
2、Windows下JAVA用到的環(huán)境變量主要有3個:JAVA_HOME、CLASSPATH、PATH。
1)JAVA_HOME指向的是JDK的安裝路徑,如x:\ j2sdk1.4.2,在這路徑下你應該能夠找到bin、lib等目錄。設置方法:JAVA_HOME=c:\ j2sdk1.4.2
2)PATH變量的作用
java程序在運行時首先在path變量所定義的路徑去找java.exe,并以***找到的為準,如果安裝完j2sdk后不加設置,一般是C:\WINDOWS\system32目錄。
j2sdk1.4(還有其它java開發(fā)工具如jbuilder8)在安裝后會將java.exe拷貝到C:\WINDOWS\system32目錄下,當執(zhí)行java.exe時,需要裝載這個SDK下的一些文件。
如j2sdk1.4在安裝完成后,C:\WINDOWS\system32下的java.exe在運行時會在C:\Program File\java\目錄下裝載必需的一些文件。但安裝j2sdk后一般會在PATH變量的最前面設置C:\ j2sdk1.4.2 \bin。
當先安裝j2sdk1.4.2,后安裝jbuilder8等開發(fā)工具時,由于jbuilder8的java.exe在拷貝到C:\WINDOWS\system32時可能覆蓋了j2sdk1.4.2的java.exe,那么這時在運行的java.exe會到jbuilder8所在的目錄去裝載必需的一些文件。
3)CLASSPATH環(huán)境變量的作用
告訴類裝載器到哪里去尋找第三方提供的類和用戶定義的類。也可用使用JVM命令行參數(shù)-classpath分別為應用程序指定類路徑,在-classpath中指定的類路徑覆蓋CLASSPATH環(huán)境變量中指定的值。
3、當機器內(nèi)裝有多個SDK版本時,如何查看所用的是哪個SDK?
java -verbose
在出現(xiàn)的屏幕信息中可以看出系統(tǒng)裝載的是哪個目錄下的文件。
4、Windows OS下設置PATH的方法
〔系統(tǒng)〕->〔環(huán)境〕-> 〔高級〕,在PATH變量的文本框中的最前面輸入C:\ j2sdk1.4.2\bin
或在命令行窗口中執(zhí)行 set path=c:\j2sdk1.4.2\bin;%path%; 這樣在命令行窗口的任一路徑下都可以執(zhí)行java.exe程序了?;蛟O置PATH=%JAVA_HOME%\bin;%PATH%
5、對于CLASSPATH環(huán)境變量的設置方法要加倍小心,是因為以后你出現(xiàn)的莫名其妙80%以上的怪問題都可能是由于CLASSPATH設置不對引起的
CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar
首先要注意的是最前面的".\;",——句點反斜杠分號。這個是告訴JDK,搜索CLASS時先查找當前目錄的CLASS文件。
【Troubleshooting】
編譯會出現(xiàn)以下情況,看你是否真得都理解環(huán)境變量的設置,并能解決它。
[T1] error:java不是一個可運行的程序? 由于沒有設置環(huán)境變量path
[T2] error:不能打開某個目錄? 可能是忽視了path環(huán)境變量中的目錄的設置順序。
[T3] Exception on thread “main” java.lang.DoClassDefFoundError:Test? 沒有設置classpath的路徑。
原文鏈接:http://blog.sina.com.cn/s/blog_5421dfd2010006bp.html
【編輯推薦】