利用ant进行远程tomcat部署

javaEE项目中,需要将工程部署到远程服务器上,如果部署的频率比较高,手动部署的方式就比较麻烦,可以利用Ant工具实现快捷的部署。tomcat7具体配置如下:

 

1.配置tomcat的用户角色

 

tomcat7中的用户角色有:

 

manager-gui — Access to the HTML interface.

 manager-status — Access to the "ServerStatus" page only.

 manager-script — Access to the tools-friendlyplain text interface that is described in this document, and to the"Server Status" page.

 manager-jmx — Access to JMX proxy interfaceand to the "Server Status" page.

 

我们要用到的是manager-script,在tomcat-users.xml 中进行配置。加入以下代码:

 

<rolerolename="manager-script" />

 

<user username="用户名"password="密码" roles="manager-script">

 

2.配置Ant环境

 

 

以前在 6.0 的时候, 我们会在 classpath中加入catalina-ant.jar ,具体操作为 :window-->preferences,左边:ant-->runtime,在右边的classpath标签中的global entries 下加入 external jars,路径指向 tomcat_home/lib/catalina-ant.jar, 只需这一个即可,但是现在 7.0得再加几个才行:

 

lib/catalina-ant.jar,lib/tomcat-coyote.jar,lib/tomcat-util.jar,bin/tomcat-juli.jar

 

3.编写build.xml文件

 

<project name="工程名"default="redeploy" basedir=".">

 

 <!-- Configure the directory into which the web application is built-->

 

 <property name="build"value="${basedir}/build"/>

 

 

 

 <!-- Configure the context path for this application -->

 

 <property name="path" value="/应用的名称"/>

 

 

 

 <!-- Configure properties to access the Manager application -->

 

 <property name="url"     value="http://你的域名/manager/text"/>

 

 <property name="username" value="步骤1中配置的用户名"/>

 

 <property name="password" value="步骤1中配置的密码"/>

 

 

 

 <!-- Configure the custom Ant tasks for the Manager application-->

 

 <taskdef name="deploy"   classname="org.apache.catalina.ant.DeployTask"/>

 

 <taskdef name="list"     classname="org.apache.catalina.ant.ListTask"/>

 

 <taskdef name="reload"   classname="org.apache.catalina.ant.ReloadTask"/>

 

 <taskdef name="findleaks"classname="org.apache.catalina.ant.FindLeaksTask"/>

 

 <taskdef name="resources"classname="org.apache.catalina.ant.ResourcesTask"/>

 

 <taskdef name="start"    classname="org.apache.catalina.ant.StartTask"/>

 

 <taskdef name="stop"     classname="org.apache.catalina.ant.StopTask"/>

 

 <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask"/>

 

 

 

 <!-- Executable Targets -->

 

 <target name="compile" description="Compile webapplication">

 

   <!-- ... construct web application in ${build} subdirectory, and

 

           generated a ${path}.war ... -->

 

            <delete dir="${build}"/>

 

           <mkdir dir="${build}"/>

 

            <war destfile="${build}/school.war"webxml="WebRoot/WEB-INF/web.xml">

 

              <classesdir="WebRoot/WEB-INF/classes">

 

                   <excludename="**/*.xml"/> 

 

              </classes>

 

              <libdir="WebRoot/WEB-INF/lib" />

 

           <fileset dir="WebRoot"> 

 

                <includename="**/**.*" /> 

 

                <excludename="**/*.jar"/> 

 

                <excludename="**/*.class"/>

 

           </fileset>

 

         </war>

 

 </target>

 

 

 

 <target name="deploy" description="Install webapplication" depends="compile">

 

   <deploy url="${url}" username="${username}"password="${password}" path="${path}"war="${build}/school.war"/>

 

 </target>

 

 

 

 <target name="reload" description="Reload webapplication" depends="compile">

 

   <reload  url="${url}"username="${username}" password="${password}"path="${path}"/>

 

 </target>

 

 

 

 <target name="undeploy" description="Remove webapplication">

 

   <undeploy url="${url}" username="${username}"password="${password}" path="${path}"/>

 

 </target>

 

      

 

      <target name="redeploy" description="Remove andInstall web application">   

 

          <antcall target="undeploy"/>

 

              <antcalltarget="deploy"/>

 

      </target>

 

</project>

 

最后运行该文件,你的工程就可以部署到远程tomcat上了。

 

具体的说明可参考官方的文档:

 

http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html#Executing_Manager_Commands_With_Ant

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值