我试图了解类路径的真正工作原理。在网上搜索之后,这是我到目前为止所到达的地方:
我已经添加了
export CLASSPATH="/home/foo:/home/foo/Java_code/my_code"
at /etc/environment
。顺便说一句,我正在运行 Ubuntu。
Java找到路径并编译没有问题。
问题是,如果我更改 CLASSPATH 然后我会执行以下操作:source /etc/environment
,新的 CLASSPATH 未应用。当且仅当我重新启动系统时才会应用它。例如,如果我删除
export CLASSPATH="/home/foo:/home/foo/Java_code/my_code"
行,然后我做了 source /etc/environment ,我终于做了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
在你的主目录中。
CLASSPATH=$CLASSPATH:/home/foo:/home/foo/Java_code/my_code
export CLASSPATH
通过这种方式,您可以获取它,并且任何新启动的 bash 将立即获得正确的设置。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)