日期:2014-05-17  浏览次数:20916 次

ant tomcat 启动 关闭 注册成windows服务

tomcat注册成windows服务:
打开cmd命令行,进入tomcat目标下的bin目录里,执行service.bat install tomcat_juziku(服务名)

?

如果想删除windows服务,可以进入cmd命令行,执行sc delete tomcat_juziku(其中,tomcat_juziku为服务名,如果服务名中间有空格,就需要前后加引号)

?

?

--------------------------------

问题: 自己写ant的时候build完war后想部署到tomcat上,然后启动tomcat,在启动前会先运行shutdown尝试关闭tomcat,并且删除掉之前部署的war和相关目录,结果运行shutdown之后马上尝试删除的时候,说是有些资源被使用,无法删除,应该是shutdown执行的关闭tomcat没有完全执行完,就开始执行删除,导致资源被使用中,在网上找了些相关的处理办法,记录如下:

?

1.

==========================================

ant 启动 tomcat

<target name="tomcat.start">
<java jar="${tomcat.home}/bin/bootstrap.jar" fork="true">
<jvmarg value="-Dcatalina.home=${tomcat.home}"/>
</java>
</target>

<target name="tomcat.stop">
<java jar="${tomcat.home}/bin/bootstrap.jar" fork="true">
<jvmarg value="-Dcatalina.home=${tomcat.home}"/>
<arg line="stop"/>
</java>
</target>

<target name="tomcat.debug">
<java jar="${tomcat.home}/bin/bootstrap.jar" fork="true">
<jvmarg value="-Dcatalina.home=${tomcat.home}"/>
<jvmarg value="-Xdebug"/>
<jvmarg
value="-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"/>
</java>
</target>

?

?

2、

=======================================================

今天研究对象是Ant,用于对msms系统进行Tomcat的自动部署。

遇到一个怪问题,百思不得其解:
通过ant depoly可以把msms.war部署到tomcat上。当然,要求这时候webapps下面没有msms目录。
看tomcat的纪录,加载msms.war正常,网页也可以打开。

通过ant undeploy,可以把msms卸载。Tomcat显示:
Undeploying context [/msms]
正常卸载了。问题是,去看webapps目录下面,居然有一个msms目录的残骸,里面保留的目录是
WEB-INF\lib
有以下几个文件残留着:
commons-digester.jar
commons-validator.jar
struts.jar

这时候msms目录也无法手工删除,必须停掉tomcat后才能删除。

我装的tomcat是5.5。不知道是否还有人遇到过这种情况,我反正是晕了。

build.properties文件如下:
tomcat.dir=C:/ApacheGroup/Tomcat5.5
tomcat.webapps=C:/ApacheGroup/Tomcat5.5/webapps
tomcat.manager.url=http://localhost:8080/manager
tomcat.manager.username=admin
tomcat.manager.password=xxxxxxxx

build.xml文件如下:
<?xml version="1.0"?>
<project name="msms" default="compile" basedir=".">
    <!-- Ant Tomcat Task Definition -->
    <taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask">
        <classpath>
            <path location="${tomcat.dir}/server/lib/catalina-ant.jar" />
        </classpath>
    </taskdef>

    <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask">
        <classpath>
            <path location="${tomcat.dir}/server/lib/catalina-ant.jar" />
        </classpath>
    </taskdef>

    <taskdef name="install" classname="org.apache.catalina.ant.InstallTask">
        <classpath>
            <path location="${tomcat.dir}/server/lib/catalina-ant.jar" />
        </classpath>
    </taskdef>

    <taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask">
        <classpath>
            <path location="${tomcat.dir}/server/lib/catalina-ant.jar" />
        </classpath>
    </taskdef>

    <taskdef name="list" classname="org.apache.catalina.ant.ListTask">
        <classpath>
            <path location="${tomcat.dir}/server/lib/catalina-ant.jar" />
        </classpath>
    </taskdef>

    <taskdef name="start" classname="org.apache.catalina.ant.StartTask">
        <classpath>
            <path location="${tomcat.dir}/server/lib/catalina-ant.jar" />
        </classpath>
    </taskdef>

    <taskdef name="stop" classname="org.apache.catalina.ant.StopTask">
        <classpath>
            <path location="${tomcat.dir}/server/lib/catalina-ant.jar" />
        </classpath>
    </taskdef>

    <property name="build" value="build" />
    <property na