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
..................................................................................................................................................... CLASSPATH是什么?它的作用是什么? ..................................................................................................................................................... 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”變量已經存在,可以直接添加新值(其它變量值不要動,防止其它程序運行異常),其它兩個變量需要新建。
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安裝提示