在完成一个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. Word: How to Temporarily Disable Spell Check in Word

    link: http://johnlamansky.com/tech/disable-word-spell-check/ 引用: Word 2010 Click the “File” button C ...

  2. FastDFS 自动部署和配置脚本

    写了一个自动安装和配置FastDFS的脚本,还没有写好关于nginx的配置.先贴上,如下: 自动安装FastDFS,(这部分是之前同事写好的) #!/bin/bash #instll gcc echo ...

  3. 关于C#引用Dll后,找不到命名空间的问题

    在引用里明确添加了一个Dll,能够看到该Dll详细信息,可就是用using找不到命名空间.并且发现刚引用时是有该命名空间,一编译就消失了. 最后发现原因如下: 原目标框架为.Net Framework ...

  4. 向linux内核中添加外部中断驱动模块

    本文主要介绍外部中断驱动模块的编写,包括:1.linux模块的框架及混杂设备的注册.卸载.操作函数集.2.中断的申请及释放.3.等待队列的使用.4.工作队列的使用.5.定时器的使用.6.向linux内 ...

  5. android-Activity(四大组件之一)

    一.Activity理解 1.定义: 直译为活动,是Android定义四大应用组件之一,也是最重要的用的最多的: 用来提供一个能让用户操作并与之交互的界面 一个应用有多个界面也就是包含多个Activi ...

  6. PLSQL Developer注册码

    Product Code:4t46t6vydkvsxekkvf3fjnpzy5wbuhphqzserial Number:601769password:xs374ca

  7. HDU 1421 DP

    搬寝室 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...

  8. linux笔记一

    1.桌面环境:gnome,kde等 2.虚拟机网络模式: a.VMnet0:用于虚拟桥接网络下的虚拟交换机 b.VMnet1:用于虚拟HOST-Only网络下的虚拟交换机 c.VMnet8:用于虚拟N ...

  9. redis虚拟机模拟集群,节点,增加多端口命令

    Redis启动多端口,运行多实例 使用redis在同一台机器上,启用多个端口,实现多个实例,完成集群的模拟实现. 启动多实例 redis默认启动端口为6379,我们可以使用 --port 来指定多个端 ...

  10. c#...的类型初始值设定项引发异常。

    今天一直遇到这个问题