关于JAVA_HOME, CLASSPATH和PATH的设置
http://bbs.csdn.net/topics/120079565
1、PATH,這個是給WINDOWS操作系統(tǒng)用的,告訴命令行里,執(zhí)行的命令行工具在那里,比如java,javac這都是命令行工具,你在運行里隨便敲一個命令,操作系統(tǒng)怎么就知道你這個命令對應的程序在什么地方,就是通過PATH知道的,你編寫JAVA程序的時候,需要編譯你的代碼,執(zhí)行編譯后的代碼,用JAVA和JAVAC這2個工具,那么就必須告訴操作系統(tǒng),這2個工具放在什么地方。
2、JAVA_HOME,是告訴操作系統(tǒng),JAVAC和JAVA的具體位置的,因為你安裝JAVA的路徑可能比較長,不方便在PATH里面寫,所以就等于是聲明一個簡寫。
3、CLASSPATH,是給JAVAC和JAVA用的,告訴他們,你寫的JAVA類,是放在什么地方的
JAVA_HOME=C:\jdk1.5.0_06
?
PATH=%JAVA_HOME%\bin;%PATH%
CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar
?
http://bbs.csdn.net/topics/340232733
以下為置JAVA_HOME,CLASSPATH,PATH的目的:?
1,設置JAVA_HOME:?
一、為了方便引用,比如,你JDK安裝在C:\Program?Files\Java\jdk1.6.0目錄里,則設置JAVA_HOME為該目錄路徑,?那么以后你要使用這個路徑的時候,?只需輸入%JAVA_HOME%即可,?避免每次引用都輸入很長的路徑串;?
二、歸一原則,?當你JDK路徑被迫改變的時候,?你僅需更改JAVA_HOME的變量值即可,?否則,你就要更改任何用絕對路徑引用JDK目錄的文檔,?要是萬一你沒有改全,?某個程序找不到JDK,?后果是可想而知的----系統(tǒng)崩潰!?
三、第三方軟件會引用約定好的JAVA_HOME變量,?不然,?你將不能正常使用該軟件,?以后用JAVA久了就會知道,?要是某個軟件不能正常使用,?不妨想想是不是這個問題.?
2,設置CLASSPATH:?
這?是一個很有趣,當然也比較折磨初學者的問題,?這個變量設置的目的是為了程序能找到相應的".class"文件,?不妨舉個例子:?你編譯一個JAVA程序---A.java,?會得到一個A.class的類文件,你在當前目錄下執(zhí)行java?A,?將會得到相應的結(jié)果(前提是你已經(jīng)設置CLASSPATH為".").?現(xiàn)在,?你把A.class移到別的目錄下(例如:"e:\"),?執(zhí)行java?A,?將會有NoClassDefFindError的異常,原因就是找不到.class文件,?現(xiàn)在你把CLASSPATH增加為:".;e:\"再運行java?A,?看看會有什么結(jié)果~~:)~~~,?一切正常,?java命令通過CLASSPATH找到了.class文件!?
3,設置PATH:?
道理很簡單,?你想在任何時候都使用%JAVA_HOME%\bin\java?等來執(zhí)行java命令嗎,?當然不會,?于是,?你可以選擇把?%JAVA_HOME%\bin添加到PATH路徑下,?這樣,?我們在任何路徑下就可以僅用java來執(zhí)行命令了.(當你在命令提示符窗口輸入你個代碼時,操作系統(tǒng)會在當前目錄和PATH變量目錄里查找相應的應用程?序,?并且執(zhí)行.?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/shangdawei/p/3282791.html
總結(jié)
以上是生活随笔為你收集整理的关于JAVA_HOME, CLASSPATH和PATH的设置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最短路打印路径
- 下一篇: 基于leveldb,levigo做二次开