我正在理解Java的導入/類路徑情況如何工作。我想產生一個編譯錯誤,所以我說'讓我嘗試擺弄Java環境變量'(比如讓JAVA_HOME
變成JAV_HOM
等)。如何中斷(用於測試)Java類路徑環境變量?
但它似乎不起作用。一切都很好。我使用drJava有關係嗎?我甚至嘗試重新啓動,但沒有這樣做。
我正在理解Java的導入/類路徑情況如何工作。我想產生一個編譯錯誤,所以我說'讓我嘗試擺弄Java環境變量'(比如讓JAVA_HOME
變成JAV_HOM
等)。如何中斷(用於測試)Java類路徑環境變量?
但它似乎不起作用。一切都很好。我使用drJava有關係嗎?我甚至嘗試重新啓動,但沒有這樣做。
用JAVA_HOME擺弄不會破壞類路徑。
JAVA_HOME環境變量主要用於告訴您的代碼(如果需要知道)以及Java安裝所在的任何第三方工具。 Java安裝(例如java
和javac
工具)不關注它。當你運行這些命令時,你隱式給出了安裝位置......它是你正在運行的Java工具的祖父目錄。
其次,在安裝的東西,可能不會被發現(例如在「rt.jar中」和「的tools.jar」文件)實際上是對「引導類路徑」不是正規的類路徑。該引導類路徑是由相關的工具隱含形成......除非你明確地通過命令行選項等
現在我不知道drJava如何管理它的類路徑覆蓋它。它可能會關注CLASSPATH環境變量,但如果它忽略它,我不會感到驚訝。 (IDE通常以他們自己的方式管理類路徑,基於項目結構等)。
如果您想要像這樣進行試驗,您最好從命令行運行java
和javac
。對於這些,類路徑由-jar
選項(以及JAR清單中的內容),-cp
選項或CLASSPATH
環境變量確定。這在java
命令的聯機手冊中有描述。
非常感謝Stephen! – Coffee 2013-05-01 23:06:13