ubuntu下配置JDK的一些坑点
在centos下的JDK配置:
# 注意,在centos下的时候,是只在/etc/profile下修改环境变量,增加JAVA_HOME之类的就可以了,不用修改/etc/enviornment
#set Java environment
export JAVA_HOME=/opt/java/ #你的java位置
export JRE_HOME=/opt/java/jre
export PATH=$PATH:${JAVA_HOME}/bin:${JRE_HOME}/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
在ubuntu下的话,要修改两个地方:
/etc/enviornment和/etc/profile
如果仅仅在enviornment中修改的话,发现重启就不可用了,嗯嗯嗯?为什么?
必须要每次启动之后source /etc/enviornment,所以在/etc/profile中配置很重要!
在/etc/enviornment中配置!
# 原来的PATH不要乱修改,不然就开不了机了,或者命令些找不到:
# 出现这种情况:由于/usr/bin 不在PATH 环境变量中,故无法找到该命令。
# 只在最后加一个$JAVA_HOME/bin
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:$JAVA_HOME/bin"
#export PATH=$PATH:${JAVA_HOME}/bin:${JRE_HOME}/jre
export JAVA_HOME=/opt/java
export JRE_HOME=/opt/java/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
在/etc/profile中配置!
#set Java environment
export JAVA_HOME=/opt/java #你的java位置
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
写在最后:
大家可能觉得,那Ubuntu也只在/etc/profile下配置不就好了吗?干嘛还要再在/etc/enviornment中配置?
其实我开始也觉得,但是因为后面遇到了一个问题,在kafka中,如果我只在/etc/profile修改的话,kafka的启动shell中
无法取到$JAVA_HOME变量,即:/etc/profile中的系统变量虽然在外部你echo 什么的都能输出,但是shell中取不到,输出不了啊!
只有enviornment中配置的,才能正常被shell脚本们引用,很奇怪!