在完成一个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. BZOJ4624 : 农场种植

    设$A[i][j]=[a[i][j]=G],B[i][j]=[b[i][j]=L]$,枚举右下角,则对应$(A-B)^2$的和就是匹配成功的格子数. $(a-b)^2=a^2+b^2-2ab$,将矩阵 ...

  2. 桌面每日一句--桌面翻译工具(有道翻译,微软翻译,Google翻译)

    现在的翻译软件功能越来越多,也越来越臃肿,还不时弹广告,真的很烦恼. 鉴于这种情况,自己做了个翻译软件,能满足日常需求就好了.需要用的时候可以直接在桌面输入单词翻译,或者直接使用快捷键呼出翻译窗口.最 ...

  3. Android GPS 取经纬度

    // 获取位置管理服务 private LocationManager locationManager;3 String mProviderName = ""; private v ...

  4. 【wikioi】1041 Car的旅行路线

    题目链接 算法:最短路(数据弱,Floyd也能过) 惨痛的教训:此题我至少提交了20次,原因在于= =太草率和粗心了,看到那个多少组数据以为是城市的数量,导致数组开得小小的= =.(对不起,wikio ...

  5. RSA_RSA算法原理(一)

    如果你问我,哪一种算法最重要?我可能会回答"公钥加密算法". 因为它是计算机通信安全的基石,保证了加密数据不会被破解.你可以想象一下,信用卡交易被破解的后果. 进入正题之前,我先简 ...

  6. 应对Memcached缓存失效,导致高并发查询DB的四种思路(l转)

    当Memcached缓存失效时,容易出现高并发的查询DB,导致DB压力骤然上升. 这篇blog主要是探讨如何在缓存将要失效时,及时地更新缓存,而不是如何在缓存失效之后,如何防止高并发的DB查询. 解决 ...

  7. [LintCode] Backpack VI 背包之六

    Given an integer array nums with all positive numbers and no duplicates, find the number of possible ...

  8. Hadoop.2.x_简单的测试文件读取与上传

    代码如下, 后备参考: package com.bigdata.hadoop.hdfs; import java.io.File; import java.io.FileInputStream; im ...

  9. hao123列表的实现

    <!DOCTYPE html><html><head>        <meta http-equiv="Content-Type" co ...

  10. steps animation

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...