您的位置:首页 > 运维架构 > Linux

Red Hat(Linux) 系统在/etc/profile配置完JAVA_HOME后无法全局生效

2016-06-03 21:43 465 查看
最近涉及到linux 服务器的java需要更新,原来一直用的jdk1.6 现在需要更新到jdk1.8。按照网上程序将jdk1.8的压缩版下载并解压到原来jdk1.6的目录并覆盖之;

接下来在修改环境变量时,按照提示在 /etc/profile 文件末尾将JAVA_HOME和JRE_HOME的值都修改成现在jdk1.8的路径:

export JAVA_HOME=/usr/java/jdk1.8.0_91
export JRE_HOME=/usr/java/jdk1.8.0_91/jre
export PATH=/usr/java/jdk1.8.0_91/bin:$PATH
export CLASSPATH=./:/usr/java/jdk1.8.0_91/lib:/usr/java/jdk1.8.0_91/jre/lib


(ps:由于是用户界面的操作,所以直接修改profile的文件内容)

保存之后在控制台用命令 :

source /etc/profile

(该命令目的是使profile文件的修改生效,java_home 的环境变量修改完成),接着是用命令:

echo $JAVA_HOME

(该命令输出JAVA_HOME的环境变量值)

输出为:/usr/java/jdk1.8.0_91 说明修改完成;

问题来了,每次关掉控制台重开一个或者直接在其他地方打开控制台输入echo $JAVA_HOME 命令后发现java_home的值又回到了之前的1.6版本的路径,然而jdk1.6的目录都已经被我删除;

所以这里问题应该出在profile的修改并没有对全局JAVA_HOME变量起到作用。

折腾了一天才有了头绪,网上说到修改用户文件夹下面的bashrc文件:添加JAVA环境变量也可以实现对JAVA全局变量进行修改,因此在etc/bashrc文件下,同样操作:

export JAVA_HOME=/usr/java/jdk1.8.0_91
export JRE_HOME=/usr/java/jdk1.8.0_91/jre
export PATH=/usr/java/jdk1.8.0_91/bin:$PATH
export CLASSPATH=./:/usr/java/jdk1.8.0_91/lib:/usr/java/jdk1.8.0_91/jre/lib


保存退出,并用命令 source 执行修改;

问题解决,其他地方打开控制台也可以得到新的JAVA_HOME 变量。

ps:

在ubuntu下直接配置全局的/etc/profile就可以,我的linux是Red Hat 的GNOME内核,不知为何不可;

附上百度文库里对profile 和bashrc这两个文件的区别:

http://wenku.baidu.com/link?url=sXIdcIwCaMcklULuLh1hv-AIWIa1mLl7HqHTSZ9ZfrNSHAaOI_rMR9SiiN2y6ZSYM0cf8TSNZj_0eyPRX2xD_4rjs_LkTdzJKQptZ8475Pi

后续有其他问题希望指出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息