linux修改了JAVA_HOME环境变量不生效?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux修改了JAVA_HOME环境变量不生效?相关的知识,希望对你有一定的参考价值。

1.修改了/etc/profile的环境变量,在最后加了
export JAVA_HOME=/opt/jdk1.6.0_37

export PATH=/usr/local/openssl/bin:$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
2.source /etc/profile
3.在etc目录下JAVA_HOME和别的目录的不一样,这是为什么呢
[root@HS_ICMS01 etc]# pwd
/etc
[root@HS_ICMS01 etc]# set|grep JAVA
JAVA_HOME=/opt/jdk1.6.0_37
==============================
[root@HS_ICMS01 tomcat]# pwd
/opt/onewave/ices/tomcat
[root@HS_ICMS01 tomcat]# set|grep JAVA
JAVA_HOME=/opt/jdk1.5.0_16

修改环境变量不生效的原因可能是系统安装的JRE覆盖了JDK环境变量。

解决方法:

    直接删除system32下面的java.exe、javaw.exe、javaws.exe3个文件;

    可以删除那个独立的JRE;

    一般造成这个问题的话,%JAVA_HOME%\\bin在path的最后,可以把它提到最前面使优先级超过system32。

参考技术A cd 进入用户home目录下
修改.bash_profile文件
重启系统,这样就永久改变了
参考技术B 可以试试在/home/ema/.bashrc文件里添加,也要source一下,然后试试是否可以用,
如果还是不行请关机重启一下追问

reboot了也不行!

参考技术C export JAVA_HOME=/opt/jdk1.6.0_37 参考技术D #vim /etc/profile
JAVA_HOME=/usr/local/jdk1.6.0_37
JRE_HOME=/usr/local/jdk1.6.0_37/jre
CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
PATH=$JAVA_HOME/bin:$PATH
export PATH CLASSPATH JAVA_HOME
#source /etc/profile
试试这个

JDK版本更改,修改环境变量不生效

问题:

当使用安装版本JDK后,想要更改系统环境变量时,直接更改JAVA_HOME无效。

 

原因:

当使用安装版本的JDK程序时(一般是1.7版本以上),在安装结束后安装程序会自动将java.exe、javaw.exe、javaws.exe三个可执行文件复制到C:\Windows\System32目录,这个目录在WINDOWS环境变量中的优先级高于JAVA_HOME设置的环境变量优先级,故此直接更改JAVA_HOME会无效。

另外,JDK1.8安装版本,还会在C:\ProgramData\Oracle\Java目录中生成一些配置文件,并同时将此目录写到环境变量中的Path中。

 

解决方案:

删除C:\Windows\System32目录下java.exe、javaw.exe、javaws.exe三个文件。

删除Path中C:\ProgramData\Oracle\Java\javapath配置

以上是关于linux修改了JAVA_HOME环境变量不生效?的主要内容,如果未能解决你的问题,请参考以下文章

linux子用户修改环境变量,切换到root环境用户变量不生效

linux中如何配置jdk 环境变量

JDK版本更改,修改环境变量不生效

解决修改JDK环境变量不生效方法

linux配置jdk环境变量

Linux如何修改环境变量