近期因爲項目開發要求,需要在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環境。