我在我的電腦中安裝了JDK7。我只是喜歡指定的路徑:沒有設置CLASSPATH變量爲什麼程序可以運行
我沒有設置CLASSPATH。
我所著一個測試程序,這樣的程序:
import java.io.File;
public class Hello_1 {
public static void main(String[] args) {
System.out.println(File.separator);
}
}
我遵守它,拼命地跑它這樣:
根據結果,我們可以看到,它沒沒有任何錯誤,我很困惑。我沒有設置CLASSPATH,根據ORACLE DOC,它說:
類路徑的默認值是,這意味着只有 搜索當前目錄「」指定CLASSPATH 變量或-cp命令行開關將覆蓋此值。
如果我沒有設置CLASSPATH變量,默認的類路徑是「。」,所以當我編譯Hello_1.java時它只會在當前目錄下搜索java.io.File,沒有關於java的東西。 io.File,所以會拋出異常。但爲什麼它運作良好?
Java找到它的核心庫(rt.jar)而不管設置的類路徑。確實我從來沒有設置CLASSPATH,我更喜歡每個應用程序都有適當的-cp,如果需要的話 –
我安裝了JDK7我在c:\ program files \ java中找到有兩個rt.jar,一個放在C:\ Program Files \ Java \ jdk1.7.0_45 \ jre \ lib,其他文件放在C:\ Program Files \ Java \ jre7 \ lib中,爲此,使用哪個javac.exe或java.exe如何決定? –