關於this page的信息提供了一些很好的提示和一般信息,但沒有定論。javac如何定位Java API類?
我知道javac.exe基本上只是使用Java從'tools.jar'啓動'sun.tools.javac.Main'。我也知道Java API類存儲在JDK下的'jre/lib'的'rt.jar'中。這是'javac.exe'加載Java API類的地方嗎?
我想知道這個場景,特別是:假設我安裝了jdk1.6.0_17,後來我安裝了jdk1.6.0_25。如果我從jdk1.6.0_17運行'javac.exe',它是否會從1.6.0_17或1.6.0_25中的'rt.jar'加載Java API類?
我想知道這一切是我在我知道我編譯代碼將在Java的特定(不是最新的)版本上運行的情況,究其原因,我想編譯使用相同的確切版本的javac和Java API來確保兼容性。
是不是有你的IDE可能配置不同的構建場景 - >例如使用兩個不同的JDK版本配置兩個不同的buiild設置?我在NetBeans中使用過它,我相信它也是Eclipse提供的功能。改變JAVA_HOME可以工作,但如果你經常這樣做,會很煩人。 – hovanessyan