一键部署Java Web项目

1.下载压缩包版本的JDK、Mysql、Tomcat,本例中采用的是JDK1.8,Mysql5.6,Tomcat8.0版本。

2.解压后分别将JDK文件夹,Mysql文件夹,Tomcat文件夹放入同一个文件夹(本例该文件夹名为Web)。

3.在Mysql文件夹下创建“temp.txt”,“update.sql”,“install.bat”,以及需要导入的数据库脚本(这里命名为“InitialData.sql”)。

temp.txt:

set PathTemp=
注意,=号后面不要接回车等任何字符。


update.sql:

set password for 'root'@'localhost'=password('要设置的密码');
exit;


install.bat:

@echo off
net stop mysql
rem @echo off的作用是关闭回显功能

rem 找到当前路径
rem 将temp.txt文件中内容拷贝到temp.bat文件中
rem temp.txt文件中的内容是“set PathTemp=”
rem 特别注意:“=”后面不能加回车
copy temp.txt temp.bat

rem 将路径添加到temp.bat文件中
cd>>temp.bat

rem 执行temp.bat文件中命令
rem temp.bat文件执行后,路径已经保存在PathTemp变量中
call temp.bat

rem 删除temp.bat文件
del temp.bat

rem 设置添加到my-default.ini文件中的数据库路径和数据路径
rem set datadir=datadir=%PathTemp%\data的意思是:
rem 将字符串“datadir=”、变量PathTemp对应的字符串以及字符串“\data”赋值给datadir变量
set basedir=basedir=%PathTemp%
set datadir=datadir=%PathTemp%\data

rem %PathTemp%就是mysql文件夹

rem 设置运行环境变量homedir
set homedir=%PathTemp%\bin

rem 设置变量延迟
rem 注意:使用变量延迟后,相关变量用!!包围,这样程序才能正确识别
setlocal enabledelayedexpansion

echo !basedir!>>my-default.ini
echo !datadir!>>my-default.ini

rem 设置删除mysql服务的命令
set uninstallcmd=.\bin\mysqld.exe remove
rem 调用删除命令
call !uninstallcmd!

rem 设置安装mysql服务的命令
set installcmd=.\bin\mysqld.exe -install

rem 调用安装命令
call !installcmd!

rem 启动mysql服务
net start mysql

rem 调用update.sql文件中的sql语句,将mysql的远程访问方式打开,以备远程访问服务器;
rem 同时,将mysql的密码更改,本批处理命令将mysql密码更改为root
.\bin\mysql -u root <.\update.sql

echo password reset ok

rem 重启mysql服务
net stop mysql
net start mysql

.\bin\mysql -h localhost -u root --password=设置的密码 < %~dp0%InitialData.sql 

4.把部编译好的项目文件夹放至tomcat\webapps。


5.在tomcat\bin下找到“service.bat”文件,用以下代码覆盖掉原有代码:

rem 现在的=%~dp0就是bin文件夹
set CATALINA_HOME=%~dp0
set SERVICE_NAME=Tomcat8
REM 上面一行,Tomcat8修改成你需要的服务名,这个将是一后使用net start/stop来操作的服务名称。
set PR_DISPLAYNAME=Apache Tomcat
@echo off
rem Licensed to the Apache Software Foundation (ASF) under one or more
rem contributor license agreements.  See the NOTICE file distributed with
rem this work for additional information regarding copyright ownership.
rem The ASF licenses this file to You under the Apache License, Version 2.0
rem (the "License"); you may not use this file except in compliance with
rem the License.  You may obtain a copy of the License at
rem
rem     http://www.apache.org/licenses/LICENSE-2.0
rem
rem Unless required by applicable law or agreed to in writing, software
rem distributed under the License is distributed on an "AS IS" BASIS,
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rem See the License for the specific language governing permissions and
rem limitations under the License.

rem ---------------------------------------------------------------------------
rem NT Service Install/Uninstall script
rem
rem Options
rem install                Install the service using Tomcat8 as service name.
rem                        Service is installed using default settings.
rem remove                 Remove the service from the System.
rem
rem name        (optional) If the second argument is present it is considered
rem                        to be new service name
rem ---------------------------------------------------------------------------

setlocal

set "SELF=%~dp0%service.bat"
rem Guess CATALINA_HOME if not defined
set "CURRENT_DIR=%cd%"
if not "%CATALINA_HOME%" == "" goto gotHome
set "CATALINA_HOME=%cd%"
:gotHome
if exist "%CATALINA_HOME%\bin\tomcat8.exe" goto okHome
rem CD to the upper dir
set "CATALINA_HOME=%cd%\tomcat"
:okHome

if exist "%CATALINA_HOME%\bin\tomcat8.exe" goto okHome
echo %CATALINA_HOME%\bin\tomcat8.exe not found
echo The tomcat8.exe was not found...
echo The CATALINA_HOME environment variable is not defined correctly.
echo This environment variable is needed to run this program
goto end
:okHome
rem Make sure prerequisite environment variables are set
if not "%JAVA_HOME%" == "" goto gotJdkHome
if not "%JRE_HOME%" == "" goto gotJreHome
echo Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
echo Service will try to guess them from the registry.
goto okJavaHome
:gotJreHome
if not exist "%JRE_HOME%\bin\java.exe" goto noJavaHome
if not exist "%JRE_HOME%\bin\javaw.exe" goto noJavaHome
goto okJavaHome
:gotJdkHome
if not exist "%JAVA_HOME%\jre\bin\java.exe" goto noJavaHome
if not exist "%JAVA_HOME%\jre\bin\javaw.exe" goto noJavaHome
if not exist "%JAVA_HOME%\bin\javac.exe" goto noJavaHome
if not "%JRE_HOME%" == "" goto okJavaHome
set "JRE_HOME=%JAVA_HOME%\jre"
goto okJavaHome
:noJavaHome
echo The JAVA_HOME environment variable is not defined correctly
echo This environment variable is needed to run this program
echo NB: JAVA_HOME should point to a JDK not a JRE
goto end
:okJavaHome
if not "%CATALINA_BASE%" == "" goto gotBase
set "CATALINA_BASE=%CATALINA_HOME%"
:gotBase

set "EXECUTABLE=%CATALINA_HOME%\bin\tomcat8.exe"

rem Set default Service name
set SERVICE_NAME=Tomcat8
set DISPLAYNAME=Apache Tomcat 8.0 %SERVICE_NAME%

if "x%1x" == "xx" goto displayUsage
set SERVICE_CMD=%1
shift
if "x%1x" == "xx" goto checkServiceCmd
:checkUser
if "x%1x" == "x/userx" goto runAsUser
if "x%1x" == "x--userx" goto runAsUser
set SERVICE_NAME=%1
set DISPLAYNAME=Apache Tomcat 8.0 %1
shift
if "x%1x" == "xx" goto checkServiceCmd
goto checkUser
:runAsUser
shift
if "x%1x" == "xx" goto displayUsage
set SERVICE_USER=%1
shift
runas /env /savecred /user:%SERVICE_USER% "%COMSPEC% /K \"%SELF%\" %SERVICE_CMD% %SERVICE_NAME%"
goto end
:checkServiceCmd
if /i %SERVICE_CMD% == install goto doInstall
if /i %SERVICE_CMD% == remove goto doRemove
if /i %SERVICE_CMD% == uninstall goto doRemove
echo Unknown parameter "%SERVICE_CMD%"
:displayUsage
echo.
echo Usage: service.bat install/remove [service_name] [/user username]
goto end

:doRemove
rem Remove the service
echo Removing the service '%SERVICE_NAME%' ...
echo Using CATALINA_BASE:    "%CATALINA_BASE%"

"%EXECUTABLE%" //DS//%SERVICE_NAME% ^
    --LogPath "%CATALINA_BASE%\logs"
if not errorlevel 1 goto removed
echo Failed removing '%SERVICE_NAME%' service
goto end
:removed
echo The service '%SERVICE_NAME%' has been removed
goto end

:doInstall
rem Install the service
echo Installing the service '%SERVICE_NAME%' ...
echo Using CATALINA_HOME:    "%CATALINA_HOME%"
echo Using CATALINA_BASE:    "%CATALINA_BASE%"
echo Using JAVA_HOME:        "%JAVA_HOME%"
echo Using JRE_HOME:         "%JRE_HOME%"

rem Try to use the server jvm
set "JVM=%JRE_HOME%\bin\server\jvm.dll"
if exist "%JVM%" goto foundJvm
rem Try to use the client jvm
set "JVM=%JRE_HOME%\bin\client\jvm.dll"
if exist "%JVM%" goto foundJvm
echo Warning: Neither 'server' nor 'client' jvm.dll was found at JRE_HOME.
set JVM=auto
:foundJvm
echo Using JVM:              "%JVM%"

set "CLASSPATH=%CATALINA_HOME%\bin\bootstrap.jar;%CATALINA_BASE%\bin\tomcat-juli.jar"
if not "%CATALINA_HOME%" == "%CATALINA_BASE%" set "CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\bin\tomcat-juli.jar"

"%EXECUTABLE%" //IS//%SERVICE_NAME% ^
    --Description "Apache Tomcat 8.0.44 Server - http://tomcat.apache.org/" ^
    --DisplayName "%DISPLAYNAME%" ^
    --Install "%EXECUTABLE%" ^
    --LogPath "%CATALINA_BASE%\logs" ^
    --StdOutput auto ^
    --StdError auto ^
    --Classpath "%CLASSPATH%" ^
    --Jvm "%JVM%" ^
    --StartMode jvm ^
    --StopMode jvm ^
    --StartPath "%CATALINA_HOME%" ^
    --StopPath "%CATALINA_HOME%" ^
    --StartClass org.apache.catalina.startup.Bootstrap ^
    --StopClass org.apache.catalina.startup.Bootstrap ^
    --StartParams start ^
    --StopParams stop ^
    --JvmOptions "-Dcatalina.home=%CATALINA_HOME%;-Dcatalina.base=%CATALINA_BASE%;-Djava.endorsed.dirs=%CATALINA_HOME%\endorsed;-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties" ^
    --JvmMs 128 ^
    --JvmMx 256
if not errorlevel 1 goto installed
echo Failed installing '%SERVICE_NAME%' service
goto end
:installed
echo The service '%SERVICE_NAME%' has been installed.

:end
cd "%CURRENT_DIR%"

6.回到“Web”文件夹下,创建“安装点这里.bat”。

安装点这里.bat:

@echo off
set regpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment rem LPY
echo.
echo ************************************************************
echo *                                                          *
echo *                        1.安装JDK                         *
echo *                                                          *
echo ************************************************************
echo.
echo === 新创建环境变量 JAVA_HOME=%~dp0jdk
setx "JAVA_HOME"  /m %~dp0jdkecho.
echo. 
echo === 新创建环境变量 CLASS_PATH=%%JAVA_HOME%%\lib\tools.jar;%%JAVA_HOME%%\lib\dt.jar;.
setx "CLASS_PATH" ".;%%JAVA_HOME%%\lib\tools.jar;%%JAVA_HOME%%\lib\dt.jar;" -m echo.
echo. 
echo === 新追加环境变量(追加到最后面) PATH=;%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin;
set append=;%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin;
set newPath=%Path%%append%
setx "Path"  "%newPath%" -m
rem 清理之前的MySQL和 tomcat8,避免安装失败
sc delete mysql
sc delete tomcat8
echo.
echo.
echo ************************************************************
echo *                                                          *
echo *                   2.安装mysql数据库                      *
echo *                                                          *
echo ************************************************************
echo.
cd mysql\
call install.bat
cd ..
echo.
echo ************************************************************
echo *                                                          *
echo *                      3.安装tomcat                        *
echo *                                                          *
echo ************************************************************
echo.
call %~dp0tomcat\bin\service.bat remove
call %~dp0tomcat\bin\service.bat install
sc config "tomcat8" start= AUTO
net start tomcat8
echo.
echo ************************************************************
echo *                                                          *
echo *                        安装完成                          *
echo *                                                          *
echo ************************************************************
echo.
echo === 请按任意键退出! 
pause>nul

7.执行“安装点这里.bat”,出现的mysql警告可以忽略,完成部署环节。

8.创建一个快捷方式,对象位置请输入Web项目的访问地址。

9.点击该快捷方式,即可正常浏览该Web项目的页面。




  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值