一键部署安装JDK

一、windows版本

@ECHO OFF

ECHO **********************************************
ECHO  * 用于安装JDK并配置环境变量的批处理程序
ECHO  * 以下注意事项:
ECHO  * 1)配置环境变量前会先备份注册表(备份当前脚本所在文件夹的backup.reg)
ECHO  * 2)如配置的环境变量有问题请运行backup.reg还原
ECHO  * 3)修改注册表,有些杀毒软件会报警,请点击信任
ECHO **********************************************

:: JDK的安装路径
SET JDK_INSTALL_PATH=C:\Program" "Files\Java\jdk1.8
:: 获取当前安装包名称
FOR /r %~dp0 %%i IN (*.exe) DO (ECHO %%i|FIND "jdk">NUL && SET JDK_PACKAGE_PATH=%%i)
ECHO 正在安装JDK,请稍等......
START /WAIT %JDK_PACKAGE_PATH% /qn INSTALLDIR=%JDK_INSTALL_PATH% && ECHO JDK安装成功!

ECHO 配置JDK环境变量
::用户变量存储路径
SET userRegPath=HKEY_CURRENT_USER\Environment
::注册表备份路径,%~dp0指的当前目录
SET regBakupPath=%~dp0backup.reg
::JDK环境变量CLASSPATH
SET CLASSPATH=.;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar;
::配置JDK的path
SET configJdkPath=%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin;

::查询注册表的关键字
SET key=path
::使用关键字key查询用户环境变量注册表
REG QUERY %userRegPath% /v %key% 1>nul 2>nul
::若使用关键字key查询用户环境变量成功,将查询出来变量的结果存到oldPathValue中
if %ERRORLEVEL%==0 (
	for /f "tokens=3 delims= " %%i in ('REG QUERY %userRegPath% /v %key%') DO (SET oldPathValue=%%i)
)

ECHO 备份组册表...
REG EXPORT %userRegPath% "%regBakupPath%"
ECHO 新建环境变量JAVA_HOME
SETX JAVA_HOME %JDK_INSTALL_PATH%
ECHO 新建环境变量CLASSPATH
SETX CLASSPATH "%CLASSPATH%"
ECHO 设置PATH
IF DEFINED oldPathValue (
	SETX PATH "%oldPathValue%;%configJdkPath%"
) ELSE SETX PATH "%configJdkPath%"
ECHO JDK环境变量配置成功!
ECHO 校验JDK安装成功!
java -version

二、Linux版本

#!/bin/sh
# @author radiomen

# 定义显示颜色
RED='\e[1;91m'
GREEN='\e[1;92m'
WITE='\e[1;97m'
NC='\e[0m'

OPERATION_PATH=/opt
TOMCAT_WEBAPPS_PATH=/opt/tomcat/webapps
PROFILE_PATH=/etc/profile
JDK_UNPACKAGE_NAME=jdk-8u191-linux-x64.tar.gz
JDK_PACKAGE_NAME=jdk1.8.0_191
JAVA_HOME=/opt/jdk1.8.0_191
JRE_HOME=/opt/jdk1.8.0_191/jre

function copy_package_to_opt()
{
	echo 'Copy JDK package to /opt, it may take a moment !'
	cp ./$JDK_UNPACKAGE_NAME $OPERATION_PATH
	echo -e $RED 'Copy base package success !' $NC
}

function install_jdk()
{	
	echo 'Install JDK,it may take a moment !'
	cd $OPERATION_PATH
	tar -xzvf $JDK_UNPACKAGE_NAME && rm -rf $JDK_UNPACKAGE_NAME
	echo JAVA_HOME=$JAVA_HOME >> $PROFILE_PATH
	echo JRE_HOME=$JRE_HOME >> $PROFILE_PATH
	echo "CLASS_PATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar:\$JRE_HOME/lib
PATH=\$PATH:\$JAVA_HOME/bin:\$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH" >> $PROFILE_PATH
	source $PROFILE_PATH
	echo -e $RED 'Install JDK success !' $NC
}

function main()
{
	copy_package_to_opt
	install_jdk
}

main

猜你喜欢

转载自blog.csdn.net/q13554515812/article/details/85111249