Java中設置classpath、path、JAVA_HOME的作用


hinking in Java對classpath作用的解釋

  Java 解釋器的工作程序如下:

  首先,它找到環境變量CLASSPATH(將Java 或者具有Java 解釋能力的工具——如瀏覽器——安裝到機器中時,通過操作系統進行設定)。CLASSPATH 包含了一個或多個目錄,它們作為一種特殊的“根”使用,從這里展開對.class 文件的搜索。從那個根開始,解釋器會尋找包名,並將每個點號(句點)替換成一個斜杠,從而生成從CLASSPATH 根開始的一個路徑名(所以package foo.bar.baz 會變成foo\bar\baz 或者foo/bar/baz;具體是正斜杠還是反斜杠由操作系統決定)。隨后將它們連接到一起,成為CLASSPATH 內的各個條目(入口)。以后搜索.class 文件時,就可從這些地方開始查找與准備創建的類名對應的名字。此外,它也會搜索一些標准目錄——這些目錄與Java 解釋器駐留的地方有關。

為進一步理解這個問題,下面以我自己的域名為例,它是bruceeckel.com。將其反轉過來后,com.bruceeckel 就為我的類創建了獨一無二的全局名稱(com,edu,org,net 等擴展名以前在Java 包中都是大寫的,但自Java 1.2 以來,這種情況已發生了變化。現在整個包名都是小寫的)。由於決定創建一個名為util 的庫,我可以進一步地分割它,所以最后得到的包名如下:package com.bruceeckel.util;


現在,可將這個包名作為下述兩個文件的“命名空間”使用:
//: Vector.java
// Creating a package
package com.bruceeckel.util;
public class Vector {
public Vector() {
System.out.println(
"com.bruceeckel.util.Vector");
}
}
//: List.java
// Creating a package
package com.bruceeckel.util;
public class List {
public List() {
System.out.println(
"com.bruceeckel.util.List");
}
}
這兩個文件都置於我自己系統的一個子目錄中:
C:\DOC\JavaT\com\bruceeckel\util
若通過它往回走,就會發現包名com.bruceeckel.util,但路徑的第一部分又是什么呢?這是由CLASSPATH
環境變量決定的。在我的機器上,它是:
CLASSPATH=.;D:\JAVA \LIB;C:\DOC\JavaT

可以看出,CLASSPATH 里能包含大量備用的搜索路徑。然而,使用JAR 文件時要注意一個問題:必須將JAR
文件的名字置於類路徑里,而不僅僅是它所在的路徑。所以對一個名為grape.jar 的JAR 文件來說,我們的
類路徑需要包括:
CLASSPATH=.;D:\JAVA \LIB;C:\flavors\grape.jar

個人理解說明:其實從上面可以看出,如果你用記事本來寫java程序(在Window下),並用cmd命令窗口中

輸入javac,java命令,如果你的代碼中用到了其它的jar或者你自己的寫的類,但又和你的主程序沒在一個包下,這時你就要在classpath中設置你要用到的jar或者自己寫的類的路徑,讓Java在編譯器可以找到你要用的東西,如上面例子所示。 在我們用一些工具時,如eclipse中,我們可以把一些Jar包什么的添加進來,然后搜索路徑的事工具幫我們做了,所以不用在手動加進去,如下圖,eclipse工程中專門有一個文件來記錄classpath

Java中設置classpath、path、JAVA_HOME的作用

 

.....................................................................................................................................................

CLASSPATH是什么?它的作用是什么?
  它是javac編譯器的一個環境變量。
  它的作用與import、package關鍵字有關。
  當你寫下improt java.util.*時,編譯器面對import關鍵字時,就知道你要引入java.util這個package中的類;但是編譯器如何知道你把這個package放在哪里了呢?所以你首先得告訴編譯器這個package的所在位置;如何告訴它呢?就是設置CLASSPATH啦 :) 如果java.util這個package在c:\jdk\ 目錄下,你得把c:\jdk\這個路徑設置到CLASSPATH中去!當編譯器面對import java.util.*這個語句時,它先會查找CLASSPATH所指定的目錄,並檢視子目錄java\util是否存在,然后找出名稱吻合的已編譯文件(.class文件)。如果沒有找到就會報錯!
     CLASSPATH有點像c\c++編譯器中的INCLUDE路徑的設置哦,是不是?當c\c++編譯器遇到include <iostream>這樣的語句,它是如何運作的?哦,其實道理都差不多!搜索INCLUDE路徑,檢視文件!
     當你自己開發一個package時,然后想要用這個package中的類;自然,你也得把這個package所在的目錄設置到CLASSPATH中去!
     CLASSPATH的設定,對JAVA的初學者而言是一件棘手的事。所以Sun讓JAVA2的JDK更聰明一些。你會發現,在你安裝之后,即使完全沒有設定CLASSPATH,你仍然能夠編譯基本的JAVA程序,並且加以執行。

.....................................................................................................................................................

1. PATH環境變量。作用是指定命令搜索路徑,在命令行下面執行命令如javac編譯java程序時,它會到PATH變量所指定的路徑中查找看是否能找到相應的命令程序。我們需要把jdk安裝目錄下的bin目錄增加到現有的PATH變量中,bin目錄中包含經常要用到的可執行文件如javac/java/javadoc等待,設置好PATH變量后,就可以在任何目錄下執行javac/java等工具了。

2. CLASSPATH環境變量。作用是指定類搜索路徑,要使用已經編寫好的類,前提當然是能夠找到它們了,JVM就是通過CLASSPATH來尋找類的.class文件。我們需要把jdk安裝目錄下的lib子目錄中的dt.jar和tools.jar設置到CLASSPATH中,當然,當前目錄“.”也必須加入到該變量中。

 javac -c  路徑 (可以指定class文件存放目錄)

 java -cp  路徑  (可以指定要執行的class目錄)

3. JAVA_HOME環境變量。它指向jdk的安裝目錄,Eclipse/NetBeans/Tomcat等軟件就是通過搜索JAVA_HOME變量來找到並使用安裝好的jdk。

 

在windows桌面上右擊“我的電腦” —> “屬性” —> “高級” —> “環境變量”,在“系統變量”里我們可以看到系統的各個環境變量的值。雙擊某個變量名可以修改變量值,變量值之間用“;”隔開。我們還可以“新建”原先沒有的變量。與jdk有關的有3個環境變量;“java_home”,“path”,“classpath”。我的系統中“path”變量已經存在,可以直接添加新值(其它變量值不要動,防止其它程序運行異常),其它兩個變量需要新建。

“java_home”,設置jdk的安裝路徑,比如“e:\java\jdk1.5”,以下簡稱“%java_home%”。

“path”,設置jdk中各個程序的路徑,“%java_home%\bin;%java_home%\jre\bin;”

“classpath”,設置java各個類的路徑,“.;%java_home%\lib;%java_home%\lib\tools.jar”。前面的“.”不可少,它代表了我們為自己的java類建立的工作路徑,其它的是jdk自帶的標准類庫路徑。

設置好環境變量后按“確定”退出。按“win”+“r”鍵進入“運行”窗口,運行“cmd”進入DOS窗口,在輸入“javac”后回車,如果有顯示java的幫助信息,就說明環境變量設置成功。

 

classpath= ".;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar"

java_home = "C:\Program Files\Java\jdk1.5.0"

path ="%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin "

 

 

DK安裝與配置圖解

JDK1.7安裝圖解

一、下載JDK1.7

       下載地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 

1.、首先選中紅色部分,然后從產品列表中選中對應系統的jdk版本點擊下載



圖1-1下載信息

二、安裝jdk

1.雙擊“jdk-7u1-windows-i586.exe”可以直接運行程序,如圖所示。



圖1-2 運行起始界面

2、選中要安裝得部分和要安裝的路徑。建議使用默認配置。“開發工具”是必須安裝的,它是JDK的核心,“源代碼”是JDK類庫包的源代碼,建議安裝(很多時候都能用到源代碼)。“公共JRE”可以選擇不按轉,因為JDK中包括JRE。這里我選擇默認的配置。



圖1-3 選擇安裝路徑

 

點擊下一步,安裝jdk



圖1-4 安裝進度條

3、當JDK安裝完成是會提示是否安裝JRE




圖1-5 JRE安裝提示

4、點擊“下一步”安裝JRE




圖1-6 JRE安裝進度條

5、靜等進度條結束,結束之后會提示產品注冊,直接點擊“完成”就行了。



圖1-7 安裝完成

三、配置JDK環境變量

1、右擊“我的電腦”選擇“屬性”,在選擇“高級”然后選中“環境變量”。



圖1-8 環境變量的選擇

2、點擊“環境變量”。

     然后在“系統環境變量”中,點擊“新建”

3、 “新建”,新建一個名為“JAVA_HOME”的系統環境變量。其變量的值為JDK安裝根目錄,我的JDK安裝到了C:\Program Files\Java\jdk1.7.0_01。



圖1-10 添加JAVA_HOME環境變量

4、“新建”(或編輯)一個名為“path”的環境變量,如果Path變量已經存在,則在變量值的最后面追加“;%JAVA_HOME%\bin;”。



圖1-11 編輯Path環境變量

5、“新建”一個名為“ClassPath”的環境變量,其值為“%JAVA_HOME%\jre\lib\rt.jar;.;”



圖1-12 新建ClassPath環境變量

6、在控制台中輸入“java –version”如果出現如圖所示的java version信息,則表示JDK安裝成功(提示的版本信息可能不對,我安裝了多個JDK)。



圖1-13 JDK安裝提示


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM