在完成一个web应用项目后,领导要求做一个配置用的批处理文件,能够自动完成jdk的安装,tomcat的安装,web应用的部署,环境变量的注册,tomcat服务的安装和自动启动

参考了网上很多的类似的批处理代码后,整合成了如下的批处理

方案如下,先安装jdk,然后将已经部署好的web应用连同解压好的tomcat文件夹(用的不是安装版,这样比较简单)拷贝到目的目录,然后写环境变量,然后注册服务。

第一个文件setup-1.bat

@echo off

% mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",)(window.close)&&exit

set myjdkpath=C:\Java\1.8.0_60
set myjrepath=C:\Java\1.8.0_60\jre
set mytomcatpath=C:\apache-tomcat-8.0. echo **********************************************
echo.
echo 将要安装jdk
echo.
echo 安装请按任意键,退出直接关闭窗口
echo.
echo ********************************************** pause echo.
echo 正在安装jdk,请不要执行其他操作
echo.
echo 请稍等,这个时间大约需要二、三分钟
echo.
start /WAIT jdk-8u60-windows-x64.exe /qn INSTALLDIR=C:\Java\1.8.0_60
echo jdk安装完毕 echo **********************************************
echo.
echo 将要安装Tomcat软件
echo.
echo 安装请按任意键,退出直接关闭窗口
echo.
echo ********************************************** pause echo.
echo 正在安装Tomcat 请不要执行其他操作
echo.
echo 请稍等,这个时间大约需要五、六分钟
echo.
xcopy /e /i apache-tomcat-8.0. c:\apache-tomcat-8.0. >nul
echo Tomcat安装完毕 echo **********************************************
echo.
echo 将要安装配置环境变量
echo.
echo 继续请按任意键,退出直接关闭窗口
echo.
echo **********************************************
pause setx JRE_HOME %myjrepath%>nul
setx JAVA_HOME %myjdkpath%>nul
setx CLASSPATH .;%myjdkpath%\lib\tools.jar;%myjdkpath%\lib\dt.jar;%myjdkpath%\jre\lib\rt.jar>nul
setx PATH %myjdkpath%\bin>nul
setx CATALINA_HOME "%mytomcatpath%">nul
echo 环境变量配置成功。
echo 退出后请手动运行setup-.bat,请按任意键退出
pause

第二个文件setup-2.bat

@echo off

echo **********************************************
echo.
echo 设置并启动TomCat服务
echo.
echo 启动请按任意键,退出直接关闭窗口
echo.
echo **********************************************
pause call C:\apache-tomcat-8.0.\bin\service.bat install>nul
sc config Tomcat8 start= auto>nul
net start Tomcat8
echo 部署工作已经成功完成,按任意键退出
pause

下面说一下为什么要用两个文件还要手动运行,而不是放在一个bat中,这也是我遇到的一个问题。

答案就是  bat写完环境变量后重启才能生效!bat写完环境变量后重启才能生效!bat写完环境变量后重启才能生效!(重要的事情说三遍)

第二个文件安装tomcat服务的时候需要环境变量,之前放在一个文件里面的时候总是报环境变量CATALINA_HOME错误,但是我用命令行单独安装服务的时候是能够成功安装的,也就是说显示的环境变量并没有错!折腾了很久,后来突然想到了这个可能性。(太菜,请嘲笑我)  结果一试果然如此。  我也想过写第三个bat来调用这两个bat,但是这样还是老问题,看来即使第三个bat调用这两个bat,他们也是在一个线程里面的。

所以目前就采用了手动分别一次运行这两个文件的方法。如果之后有改进方案了再来补充

bat批处理完成jdk tomcat的安装的更多相关文章

  1. linux下JDK,tomcat的安装与环境变量配置

    先从网上下载jdk(jdk-1_5_0_02-linux-i586.rpm) ,下载后放在/home目录中,当然其它地方也行. 进入安装目录#cd /home#cp jdk-1_5_0_02-linu ...

  2. Linux(ubuntu)下jdk&tomcat的安装

    1.下载相应版本的jdk及tomcat:sudo wget ${url} 2.解压: tar zxvf jdk-7u79-linux-x64.tar.gz​ tar zxvf apache-tomca ...

  3. Linux下jdk&tomcat的安装

    unbantu: 1.下载相应版本的jdk及tomcat:sudo wget ${url} 2.解压: tar zxvf jdk-7u79-linux-x64.tar.gz​ tar zxvf apa ...

  4. linux下memcached安装 和redis安装,jdk,tomcat,mysql 安装

    一.memcached安装yum  search  memcachedyum  -y install memcachedmemmcached -h service memcached restartc ...

  5. linux下jdk,tomcat的安装

    一.安装jdk 1.jdk下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.ht ...

  6. Tomcat免安装版的环境变量配置以及Eclipse下的Tomcat配置和测试

    Tomcat是目前比较流行的开源且免费的Web应用服务器,在我的电脑上第一次安装Tomcat,再经过网上教程和自己的摸索后,将这个过程 重新记录下来,以便以后如果忘记了可以随时查看. 注意:首先要明确 ...

  7. Tomcat免安装版+Eclipse配置

    Tomcat是目前比较流行的开源且免费的Web应用服务器,在我的电脑上第一次安装Tomcat,再经过网上教程和自己的摸索后,将这个过程 重新记录下来,以便以后如果忘记了可以随时查看. 注意:首先要明确 ...

  8. JDK和Tomcat的安装与配置

    1       JDK的安装 2       JDK的配置 3       JDK安装成功的验证 4       Tomcat的安装 (1)     解压” apache-tomcat-6.0.35. ...

  9. JDK + Tomcat 安装配置

    学习Java 开发的第一步就是配置环境,今天第一次配置,把过程记录下以备后用. 一.下载JDK.Tomcat JDK:http://www.oracle.com/technetwork/java/ja ...

随机推荐

  1. unity 解析xml

    using UnityEngine; using System.Collections; using System.IO; using System.Xml; public class xml : M ...

  2. BZOJ1103[POI2007]大都市meg 题解

    题目大意: 有一棵树,最先每条边的权值是1,然后给出n+m-1个操作,操作有两种:1.询问一个点到根的路径上的权值和:2.将一条边的权值改为0. 思路: 用dfs序将树化为序列,在dfs序中我们会保存 ...

  3. Topcoder SRM 626 DIV2 FixedDiceGameDiv2

    典型的条件概率题目. 事件A在另外一个事件B已经发生条件下的发生概率.条件概率表示为P(A|B),读作“在B条件下A的概率”. 若只有两个事件A,B,那么, P(A|B)=P(AB)/P(B) 本题的 ...

  4. ACM 蛇形填数

    蛇形填数 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 在n*n方陈里填入1,2,...,n*n,要求填成蛇形.例如n=4时方陈为:10 11 12 19 16 1 ...

  5. 洛谷 洛谷 P1011 车站 Label:续命模拟QAQ 未知50分

    题目描述 火车从始发站(称为第1站)开出,在始发站上车的人数为a,然后到达第2站,在第2站有人上.下车,但上.下车的人数相同,因此在第2站开出时(即在到达第3站之前)车上的人数保持为a人.从第3站起( ...

  6. BZOJ4184: shallot

    Description 小苗去市场上买了一捆小葱苗,她突然一时兴起,于是她在每颗小葱苗上写上一个数字,然后把小葱叫过来玩游戏. 每个时刻她会给小葱一颗小葱苗或者是从小葱手里拿走一颗小葱苗,并且 让小葱 ...

  7. [IBM DB2] db2 terminate 和 db2 connect reset 有什么区别?

    [IBM DB2] db2 terminate 和 db2 connect reset 有什么区别?  总结:如果是退出编辑器 quit :如果是断开数据库连接释放资源 connect reset : ...

  8. UESTC 30 最短路,floyd,水

    最短路 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit Statu ...

  9. GO语言练习:for基本用法

    1.代码 2.运行 1.代码 package main import "fmt" func main(){ ; k < ; k++{ JLoop: ; j < ; j+ ...

  10. asp.net 操作Excel大全

    asp.net 操作Excel大全 转:http://www.cnblogs.com/zhangchenliang/archive/2011/07/21/2112430.html 我们在做excel资 ...