tom*_*ggs 10 java linux ubuntu classpath
我试图了解classpath如何真正起作用.在网上搜索之后,这是我到目前为止所处的位置:
我已经添加了
export CLASSPATH="/home/foo:/home/foo/Java_code/my_code"
Run Code Online (Sandbox Code Playgroud)
在/etc/environment.我顺便运行Ubuntu.
Java找到路径并编译没有问题.
问题是,如果我更改CLASSPATH然后我执行:source /etc/environment,则不应用新的CLASSPATH.当且仅当我重新启动系统时才应用它.例如,如果我删除
export CLASSPATH="/home/foo:/home/foo/Java_code/my_code"
Run Code Online (Sandbox Code Playgroud)
线,然后我做源/ 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"
Run Code Online (Sandbox Code Playgroud)
感谢您的时间.
我认为你不应该把你的主目录的本地路径放在系统范围的文件中./etc/environment除非你提供一些必要或有益于所有用户的更改,否则我会独自离开.将任何更改添加到.bashrc您的主目录中的CLASSPATH .
CLASSPATH=$CLASSPATH:/home/foo:/home/foo/Java_code/my_code
export CLASSPATH
Run Code Online (Sandbox Code Playgroud)
通过这种方式,您可以获取它,任何新启动的bash都会立即进行设置.
export CLASSPATH=""
Run Code Online (Sandbox Code Playgroud)
或更好
unset CLASSPATH
Run Code Online (Sandbox Code Playgroud)
将删除现有的Classpath.您可以在多个位置设置或取消设置类路径 - 缺少的条目不会取消设置.
| 归档时间: |
|
| 查看次数: |
56365 次 |
| 最近记录: |