我想了解classpath是如何工作的。各地的網絡搜索後,這是我迄今達成:Java類路徑 - Linux
我已經加入
export CLASSPATH="/home/foo:/home/foo/Java_code/my_code"
在/etc/environment
。順便說一句,我正在運行Ubuntu。
Java找到路徑並編譯沒有問題。
問題是,如果我更改CLASSPATH,然後執行:source /etc/environment
,則不應用新的CLASSPATH。當且僅當我重新啓動系統時才應用它。例如,如果我刪除
export CLASSPATH="/home/foo:/home/foo/Java_code/my_code"
線,然後我做源的/ etc /環境,我終於做echo $CLASSPATH
,我得到的是/home/foo:/home/foo/Java_code/my_code
。我想我應該得到一個空白的線,不是嗎?
有沒有辦法在PATH或CLASSPATH變量中立即應用更改,而無需重新啓動系統?
它可以幫助你知道/ etc/environment文件最初僅包含以下行:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
謝謝您的時間。
你如何刪除類路徑? – 2012-02-17 14:08:10
你爲什麼要做所有的事情,你的環境是什麼?/etc/environment用於爲圖形應用程序定義環境變量。如果你有圖形,你可以使用IDE。爲什麼要把所有這些麻煩都包括在你的home文件夾+項目的classpath中? – hovanessyan 2012-02-17 14:09:01
我只是試圖永久設置CLASSPATH,以便從特定文件夾導入包,而無需在每次運行javac時定義它。 – tomatoeggs 2012-02-17 14:13:01