一尘不染

Java类路径-Linux

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 / 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"

感谢您的时间。


阅读 327

收藏
2020-06-07

共1个答案

一尘不染

我认为您不应将本地目录本地的任何路径放在系统范围的文件中。/etc/environment除非您提供一些对所有用户都是必要或有益的更改,否则我将不为所动。将对CLASSPATH的所有更改都放在.bashrc主目录中。

  CLASSPATH=$CLASSPATH:/home/foo:/home/foo/Java_code/my_code
  export CLASSPATH

这样,您就可以获取它,并且任何新近启动的bash都将立即拥有设置。

2020-06-07