linux源码安装jdk
1、到官网下载 jdk-8u131-linux-x64.tar.gz
官网地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
2、解压安装包,重命名为jdk
sudo tar -zvxf jdk-8u131-linux-x64.tar.gz
sudo mv jdk1.8.0_131 jdk
3、安装jdk到/usr/local/
sudo mv jdk /usr/local/
sudo cd /usr/local/
4、配置环境变量
vim /etc/profile
在文件尾添加:
export JAVA_HOME=/usr/local/jdk
export JRE_HOME=/usr/local/jdk/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
5、使立即生效
source /etc/profile
6、验证
sudo java -version 或者 jps查看进程
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
二进制安装脚本
#!/bin/sh
for i in $(rpm -qa | grep jdk | grep -v grep)
do
echo "Deleting rpm -> "$i
rpm -e --nodeps $i
done
if [[ ! -z $(rpm -qa | grep jdk | grep -v grep) ]];
then
echo "-->Failed to remove the defult Jdk."
else
rpm -ivh jdk-8u111-linux-x64.rpm
fi
echo "export JAVA_HOME=/usr/java/jdk1.8.0_111
export JAVA_BIN=/usr/java/jdk1.8.0_111/bin
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH" >> /etc/profile
source /etc/profile
echo "-->JDK environment has been successed set in /etc/profile."
安装脚本编写
#!/bin/bash
LEVEL_BOTTOM="1.6"
ENV_PROFILE="/etc/profile
jdk_setup_path="/usr/local/java
jdk_upload_path="/home/jdk"
#arg1-file
#arg2-regex
#arg3-target
function xReplace(){
local_file=$1
local_regex=$2
local_target=$3
local_flag='grep${_regex}$
{_file}'
if[-z${_fiag}];then
#add
echo${_target}>>${_file}
else
#replace
local_regex=${_regex//\//\\\/}
local_reget=${_reget//\//\\\/}
sed-i"s/${_regex}/${_target}/g"${_file}
fi
}
#check java version
function jdkCheck(){
#get version
j_version='java-version 2>&1 ll
awk 'NR==1{gsub(/"/,"");print$3}'l
grep "^[0-9]\.[0-9].*"'
if [-z $j_version]; then
j_flag=0
else
if[${j_version:0.3}>{LEVEL_BOTTOM}]; then
j_flag=2
else
j_flag=1
fi
fi
}
#check os version
function osCheck(){
1.cpu version
if[`uname -p`=="x86_64"]; then
#64
jdk_file="jdk-8u101-linux-x64.tar.gz"
else
#32
jdk_file="jdk-8u101-linux-i586.tar.gz"
fi
}
#install jdk
function installJDK() {
if [! -d ${jdk_setup_path}]; then
mkdir ${jdk_setup_path}
fi
tmp_path=`pwd`
cd ${jdk_setup_path}
cp -p ${jdk_upload_path}/${jdk_file} ${jdk_file}
tar -zxf ${jdk_file}
#set JAVA_HOME
java_home_d=`ls -F1t | grep/ | grep jdk | head -1`
java_home_d=${java_home_d:0:${#java_home_d} -1}#remove postix "/"
java_home_f=${java_setup_path}/${#java_home_d}
setupJDKEnv
cd $tmp_path
}
function setupJDKEnv() {
#backup /etc/profile
cp -p ${ENV_PROFILE} ${jdk_setup_path}/profile.back
#JAVA_HOME
if[-z $JAVA_HOME]; then
echo "">>${ENV_PROFILE}
#add JAVA_HOME and config CLASSPATH/PATH
echo "export JAVA_HOME=${JAVA_HOME_F}">>${ENV_PROFILE}
if[-z $CLASSPATH]; then
echo `export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:${JAVA_HOME/lib/tools.jar}`>>${ENV_PROFILE}
else
echo `export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:${JAVA_HOME/lib/tools.jar:$CLASSPATH}`>>${ENV_PROFILE}
fi
echo "">>${ENV_PROFILE}
// 未完 (与前面安装两种方式类似)
}