Java classpath - Linux

荒凉一梦 提交于 2019-11-30 12:41:49

I think you should not put any paths that a local to your home directory in a system wide file. I would leave /etc/environment well alone, unless you provide some changes, that are necessary or beneficial to all users. Put any changes to the CLASSPATH in your .bashrc in your home directory.

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

This way you can source it and any newly started bash will have the settings right at once.

 export CLASSPATH=""

or better

 unset CLASSPATH

will delete an existing Classpath. There are multiple locations where you can set or unset the classpath - a missing entry will not unset it.

When you remove

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

line and then source ... it wouldn't remove the CLASSPATH because it has already been set. It doesn't clear the variables which have already been defined.

The /etc/environment file is not a normal shell script; it is not executed as a shell script when you boot or login into your system. So running it with source /etc/environment does not the same as when you normally boot your system.

See: Ubuntu environment variables

/etc/environment - This file is specifically meant for system-wide environment variable settings. It is not a script file, but rather consists of assignment expressions, one per line. Specifically, this file stores the system-wide locale and path settings.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!