我试图了解类路径是如何工作的。在网上搜索之后,这是我到目前为止所到达的地方:
我已经添加了
export CLASSPATH="/home/foo:/home/foo/Java_code/my_code"
在/etc/environment。顺便说一下,我正在运行Ubuntu。
/etc/environment
Java找到路径并进行编译而没有问题。
问题是,如果我更改CLASSPATH,然后执行以下操作:source /etc/environment,则不会应用新的CLASSPATH。当且仅当我重新启动系统时,它才适用。例如,如果我删除了
source /etc/environment
行,然后我执行/ etc / environment的源代码,最后我做了echo $CLASSPATH,得到的是/home/foo:/home/foo/Java_code/my_code。我想我应该留空行,不是吗?
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"
感谢您的时间。
我认为您不应将本地目录本地的任何路径放在系统范围的文件中。/etc/environment除非您提供一些对所有用户都是必要或有益的更改,否则我将不为所动。将对CLASSPATH的所有更改都放在.bashrc主目录中。
.bashrc
CLASSPATH=$CLASSPATH:/home/foo:/home/foo/Java_code/my_code export CLASSPATH
这样,您就可以获取它,并且任何新近启动的bash都将立即拥有设置。