Skip to content

Instantly share code, notes, and snippets.

@jfut
Last active February 18, 2016 13:07
Show Gist options
  • Save jfut/8574010 to your computer and use it in GitHub Desktop.
Save jfut/8574010 to your computer and use it in GitHub Desktop.
jdk-install MAJOUR_VERSION MINOR_VERSION BUILD ex) 1.7.0_51-b13: jdk-install 7 51 13, ex) 1.8.0-b132: jdk-install 8 0 132
#!/bin/sh
#
# @author Jun Futagawa
INSTALL_SRC_DIR="/usr/local/src/java"
INSTALL_JAVA_DIR="/usr/local/java"
INSTALL_JDK_HOME_DIR="/usr/local/java/jdk"
OS="linux"
OS_EXTENSION="tar.gz"
# x64 or i586
ARCH="$(uname -p)"
if [ "${ARCH}" = "x86_64" ]; then
ARCH="x64"
else
ARCH="i586"
fi
MAJOUR_VERSION="$1"
MINOR_VERSION="$2"
BUILD="$3"
if [ -z ${BUILD} ]; then
echo "${0} MAJOUR_VERSION MINOR_VERSION BUILD"
echo "ex) JDK 7 Update 51: ${0} 7 51 13"
echo "ex) JDK 8: ${0} 8 0 132"
exit 1
fi
JAVA_COUNT=$(ps aux | grep java | wc -l)
if [ ${JAVA_COUNT} -gt 2 ]; then
echo "Please stop java process!"
echo ""
echo "------------------------------"
ps aux | grep java
echo "------------------------------"
exit 1
fi
# build version
if [ "${MINOR_VERSION}" -eq 0 ]; then
JDK_VERSION="${MAJOUR_VERSION}-b${BUILD}"
JDK_FILENAME="jdk-${MAJOUR_VERSION}-${OS}-${ARCH}.${OS_EXTENSION}"
JDK_VERSION_DIR="jdk1.${MAJOUR_VERSION}.0"
else
JDK_VERSION="${MAJOUR_VERSION}u${MINOR_VERSION}-b${BUILD}"
JDK_FILENAME="jdk-${MAJOUR_VERSION}u${MINOR_VERSION}-${OS}-${ARCH}.${OS_EXTENSION}"
JDK_VERSION_DIR="jdk1.${MAJOUR_VERSION}.0_${MINOR_VERSION}"
fi
if [ ! -d "${INSTALL_SRC_DIR}" ]; then
mkdir "${INSTALL_SRC_DIR}"
fi
if [ ! -d "${INSTALL_JAVA_DIR}" ]; then
mkdir "${INSTALL_JAVA_DIR}"
fi
pushd "${INSTALL_SRC_DIR}"
# downloadn install file
if [ ! -e "${INSTALL_SRC_DIR}/${JDK_FILENAME}" ]; then
# wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8-b132/jdk-8-linux-i586.tar.gz"
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/${JDK_VERSION}/${JDK_FILENAME}"
fi
# extract
if [ ! -e "${JDK_VERSION_DIR}" ]; then
tar zxf "${JDK_FILENAME}"
chown -R root: "${JDK_VERSION_DIR}"
fi
# move to installation directory
if [ ! -e "${INSTALL_JAVA_DIR}/${JDK_VERSION_DIR}" ]; then
mv "${JDK_VERSION_DIR}" "${INSTALL_JAVA_DIR}"
fi
# link to default JDK
pushd "${INSTALL_JAVA_DIR}"
if [ -s "${INSTALL_JDK_HOME_DIR}" ]; then
unlink "${INSTALL_JDK_HOME_DIR}"
fi
ln -s "${JDK_VERSION_DIR}" "${INSTALL_JDK_HOME_DIR}"
popd
popd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment