近期因为项目开发要求,需要在ubuntu环境下部署java6环境。原本是一个很简单的事情,但是因为特定版本,特定需求,自己尝试写了个脚本来实现。
第一步,我们要去官网下载相关的安装包jdk-6u45-linux-x64.bin
。
https://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html#jdk-6u21-oth-JPR
第二步, 写shell脚本一键部署。再sudoers的权限下执行吧。另外脚本考虑到重复安装的问题,因此修改了代码支持可重复执行。
#!/bin/bash
JDK_DIR="/usr/local/java"
JDK_FILE="jdk-6u45-linux-x64.bin"
CONFIG_FILE="/etc/profile"
if [ -d $JDK_DIR ];then
rm -rf $JDK_DIR
fi
mkdir $JDK_DIR
cd $JDK_DIR
sudo cp /oa/$JDK_FILE .
sudo chmod 777 $JDK_FILE
sudo ./$JDK_FILE
JAVA_HOME="$JDK_DIR/jdk1.6.0_45"
sed -i '/java/d' $CONFIG_FILE
sed -i '/jre/d' $CONFIG_FILE
sed -i '/lib/d' $CONFIG_FILE
sed -i '/bin:$PATH/d' $CONFIG_FILE
echo "export JAVA_HOME=${JAVA_HOME}" >>$CONFIG_FILE
echo 'export JRE_HOME=${JRE_HOME}/jre' >>$CONFIG_FILE
echo 'export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib' >>$CONFIG_FILE
echo 'export PATH=${JAVA_HOME}/bin:$PATH' >> $CONFIG_FILE
source /etc/profile
java -version
sudo update-alternatives --install /usr/bin/java java /usr/local/java/jdk1.6.0_45/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/local/java/jdk1.6.0_45/bin/javac 300
这里特别注明一下,最后两个语句其实是为了配置环境变量。如果不配置的话,若环境中有多个jdk的版本,那么有可能不用jdk6这个环境。或者说运行java的时候找不到对应的java环境等等。
第三步,如果要卸载jdk6环境,可以按照以下步骤执行
- 首先删除对应的文件夹。我这里是
/usr/local/java
- 修改
/etc/profile
文件,删掉与java相关的配置 - 执行
source /etc/profile
,让环境变量生效。 - 执行
java
, 看系统中是否还有java环境。