问题描述:
appadmin账号下 有多个APP ,其中启动时一个需要使用JDK1.8 ,其他需要使用JKD1.7 。
1.配置 appadmin 环境变量:
vi .bash_profile 修改如下:
export PATH0=$PATH0:$HADOOP_HOME/bin:$MAVEN_HOME/bin:$PATH0
export PATH=$JAVA_HOME/bin:$PATH0
export JAVA_8_HOME=/usr/java/jdk1.8.0_111
说明:这里增加了一个PATH0 作为PATH的基准,保证PATH0不被更改。
2.执行命令使配置生效
source .bash_profile
说明:source在当前bash环境下执行命令,而scripts是启动一个子shell来执行命令。这样如果把设置环境变量的命令写进scripts中,就只会影响子shell,无法改变当前的BASH,所以通过文件设置环境变量时,要用source 命令。
3.配置两个文件,设置环境变量,还原环境变量
(1)设置 vi envset
export CLASSPATH=".::/usr/java/jdk1.8.0_111/lib:/usr/java/jdk1.8.0_111/jre/lib"
export JAVA_HOME=$JAVA_8_HOME
export PATH=$JAVA_HOME/bin:$PATH0
(2)设置 vi envback
export CLASSPATH=".::/usr/java/jdk1.7.0_79/lib:/usr/java/jdk1.7.0_79/jre/lib"
export JAVA_HOME="/usr/java/jdk1.7.0_79"
export PATH=$JAVA_HOME/bin:$PATH0
4.执行
(1)在启动需要1.8的APP时,先设置环境变量
source envset
(2)启动APP
(3)启动APP 后,还原环境变量
source envback