本來(lái)java虛擬機(jī)是這么運(yùn)行的
D:\java -classpath D:\hibernate-3.0\eg org.hibernate.auction.Main
這個(gè)命令行將告訴java虛擬機(jī)的類裝載器從D:\hibernate-3.0\eg\org\hibernate\auction處裝載Main.class。
如果省略"-classpath D:\hibernate-3.0\eg",即D:\java org.hibernate.auction.Main 則類裝載器將會(huì)從系統(tǒng)環(huán)境變量CLASSPATH指定的位置尋找符合條件的Main.class。
如果CLASSPATH為.;D:\jdk150\lib\tools.jar;D:\jdk150\jre\lib\rt.jar;D:\hibernate-3.0\eg
則類裝載器先查找當(dāng)前運(yùn)行目錄(.表示當(dāng)前目錄),此處為D:\,如果D:\下面有D:\org\hibernate\auction\Main.class,則裝載這個(gè)文件。如果沒有,繼續(xù)在D:\jdk150\lib\tools.jar文件中尋找是否有路徑為org\hibernate\auction\Main.class的文件,如果沒有則尋找D:\hibernate-3.0\eg\org\hibernate\auction\Main.class。如果在這些路徑中都沒找到,就會(huì)提示一個(gè)鳥錯(cuò)誤。注意D:\hibernate-3.0\eg只表示將在此路徑下尋找D:\hibernate-3.0\eg\org\hibernate\auction\Main.class文件,不會(huì)在此路徑下的.jar文件中繼續(xù)尋找。
據(jù)說(shuō)很多開發(fā)環(huán)境往往不去讀系統(tǒng)路徑,直接就java -classpath .....,這也就是在外面運(yùn)行的東東挺溜的進(jìn)了開發(fā)環(huán)境就死菜的原因嘍。