我想了解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