小男孩的世界 发表于 2023-8-2 20:16:56

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

先给出解决方案

第一种


[*]每打开一次终端都输入一次 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这个文件就是你每打开一次终端,都会执行里面的相关配置

来源:https://www.cnblogs.com/eatingyugan/p/17506609.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Ubuntu java配置环境变量后,开启新终端窗口环境变量失效