Ubuntu java配置环境变量后,开启新终端窗口环境变量失效

  • Ubuntu java配置环境变量后,开启新终端窗口环境变量失效已关闭评论
  • 194 次浏览
  • A+
所属分类:linux技术
摘要

首先明白环境变量是什么理解了环境变量,然后开始去配置环境,以java为例配置完成后使用 source /etc/profile命令加载配置文件,使配置文件生效,至于怎么配置,理解了配置原理,需要什么配置什么


先给出解决方案

第一种

  • 每打开一次终端都输入一次 source /etc/profile,这样就可以加载配置文件,环境变量自然就有了

第二种

  • 输入vim ./bashrc,在底部添加配置在/etc/profile里的配置,这样就可以无需使用source命令加载了
  • 也可以在./bashrc底部添加 source /etc/profile,也能达到相同的效果,前提是配置文件(profile)里有相应的配置

如何进行配置

首先明白环境变量是什么

  • 环境变量可以理解为整个系统的变量,这个变量配置了我们无论在什么地方都能够使用这个变量,你在环境变量里配置了java,那么无论在哪都能使用java相关的命令,所以为什么要先配置环境变量,其实就是为了方便
  • 系统能够自动根据环境变量里的路径去寻找我们输入的命令

理解了环境变量,然后开始去配置环境,以java为例

# etc/profile  export JAVA_HOME=/usr/local/programs/jdk1.8.0_231 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH 
  • JAVA_HOME就是给java的一个目录命名,方便以后进行开发,比如Tomcat就需要使用到这个JAVA_HOME这个环境变量,这个配置的只是标明jdk的目录,Windows上就是在环境变量里直接配置就行,path里配置的是编译器的位置
  • JRE_HOME就是jre的目录,如果java版本较高,是不用这个jre目录的,$JAVA_HOME就是取这个路径,可以直接写成/usr/local/programs/jdk1.8.0_231/jre,这么写是为了方便,Windows同理,可以写全路径也可以使用这种方式
  • CLASSPATH这个一般不需要配置这个,因为我们的开发环境基本都是做好java工程项目的配置的,这个只是说使用记事本啥的写一个程序,比如.这个路径就是当前目录,你在某个目录里写了一个java文件,发现能编译,但是运行会报错找不到主类,就是java命令没有根据当前目录去找,而是跑到了CALSSPATH里有的路径去找
  • PATH这个就是和Windows里的path差不多了,这个路径就是编译器所在的位置,那些java命令全在这个路径里
  • 至于export命令就是将配置环境变量的一个命令了

配置完成后使用 source /etc/profile命令加载配置文件,使配置文件生效,至于怎么配置,理解了配置原理,需要什么配置什么

./bashrc

这是一个配置文件,与profile不同

  • 这里作简要了解,profile这个配置文件是全局的,想要让这个配置文件生效,那就要使用source命令,但是当我们切换终端或者重启,相关配置文件就不行了,你开开启一个终端,什么都不做,这个配置文件你配置的环境变量是不生效的,source命令只在当前终端生效,切换一个就不行了
  • 但是./bashrc这个文件就是你每打开一次终端,都会执行里面的相关配置