zoukankan      html  css  js  c++  java
  • Ant步步为营(4)ant启动tomcat

    前序:

    最近产品要release,一直忙着测试,没有时间学习ant了,今天终于没什么事了赶紧写点东西。这个启动tomcat是好些天之前写的了。在这里跟大家分享一下。

    build.xml

    <?xml version="1.0"?>
        <project name="ForTest" default="start_tomcat" >
        <property file="build.properties"></property>
            <target name="stop_tomcat">  
            <echo>停止tomcat</echo>  
            <exec executable="cmd" dir="${tomcat.home}/bin" failonerror="false"   
                        output="${log.file}" append="true" >  
                <!-- <arg value="/c" /> -->     
                <env key="CATALINA_HOME" path="${tomcat.home}"/>
                <arg value="/c"/>
                <arg value="shutdown.bat"/>   
            </exec>  
        </target>  
     
        <target name="start_tomcat" depends="stop_tomcat">  
            <echo>启动tomcat</echo>  
            <exec executable="cmd" dir="${tomcat.home}/bin"  failonerror="false"   
                        output="${log.file}" append="true" >  
                 <!-- <arg value="/c" /> -->    
                 <env key="CATALINA_HOME" path="${tomcat.home}"/>  
                 <arg value="/c startup.bat" />     
            </exec>  
        </target>  
        </project>

    build.properties

    tomcat.home=G:\apache-tomcat-7.0.42-windows-x64\apache-tomcat-7.0.42

    注意几点:

    exec executable="cmd"这一句是用在window系统下用cmd的方式启动tomcat。

    <env key="CATALINA_HOME" path="${tomcat.home}"/>必须指明CATALINA_HOME的值。

    env是ant的数据类型,参考:http://www.cnblogs.com/xionghui/archive/2012/03/13/2393679.html

    /c的解释:(参考ant api)

    Windows Users

    The <exec> task delegates to Runtime.exec which in turn apparently calls ::CreateProcess. It is the latter Win32 function that defines the exact semantics of the call. In particular, if you do not put a file extension on the executable, only ".EXE" files are looked for, not ".COM", ".CMD" or other file types listed in the environment variable PATHEXT. That is only used by the shell.

    Note that .bat files cannot in general by executed directly. One normally needs to execute the command shell executable cmd using the /c switch.

    <target name="help">
      <exec executable="cmd">
        <arg value="/c"/>
        <arg value="ant.bat"/>
        <arg value="-p"/>
      </exec>
    </target>
    

    A common problem is not having the executable on the PATH. In case you get an error message Cannot run program "...":CreateProcess error=2. The system cannot find the path specified. have a look at your PATH variable. Just type the command directly on the command line and if Windows finds it, Ant should do it too. (Otherwise ask on the user mailinglist for help.) If Windows can not execute the program add the directory of the program to the PATH (set PATH=%PATH%;dirOfProgram) or specify the absolute path in the executable attribute in your buildfile.

  • 相关阅读:
    梦断代码读书笔记2
    梦断代码读书笔记1
    几篇有用的博客链接
    关于我的Androidstudio的再生
    项目下app目录的具体说明
    关于Android studio的项目界面各部分的认识
    1088 最长回文子串 分类: 51nod 2015-07-20 22:09 8人阅读 评
    1083 矩阵取数问题 分类: 51nod 2015-07-20 22:05 9人阅读 评
    1087 1 10 100 1000 分类: 51nod 2015-07-18 21:59 6人
    51nod 1091 线段的重叠 分类: 51nod 2015-07-18 21:49 7人阅读
  • 原文地址:https://www.cnblogs.com/QAZLIU/p/3732273.html
Copyright © 2011-2022 走看看