On Thursday 03 August 2006 14:14, Bo Xu wrote: 

> Hi all,
> I spent a whole day trying to use ant to  deploy an web app to a remote
> tomcat web server. I can use the "list" task, but that is not the case of
> the "deploy" task.
>
> Is there anyone who can tell how to use  the "path", "war" and "localwar"
> attributes in the catalian ant  deploy task in details? For example, I
> have a war file named say "myapp.war" in the dir of "c:\tmp",  and the
> webapp's name is "testwebapp", the tomcat is in /usr/local/tomcat/.
>

Bo, 

Assuming your remote tomcat5 is serving on host ${deploy.host} and port 
${deploy.port} and your tomcat user with user id and password of 
${deploy.username} and ${deploy.password} has a manager role, try something 
like this:

   <property name="tomcat-home" location="/usr/local/tomcat"/>
   <property name="instance" value="testwebapp"/>
   <property name="deploy.path" value="/testwebapp"/>
   <property name="dist" location="/tmp"/>
   <property name="war.name" value="myapp.war"/>
   <property name="deploy.url" value="http://${deploy.host}:
${deploy.port}/manager"/>
   

    <path id="deployer.classpath">
      <pathelement location="${tomcat.home}/server/lib/catalina-ant.jar"/>
      <pathelement 
location="${tomcat.home}/common/lib/jasper-compiler.jar"/>
      <pathelement location="${tomcat.home}/common/lib/jasper-runtime.jar"/>
      <pathelement location="${tomcat.home}/common/lib/servlet-api.jar"/>
      <pathelement 
location="${tomcat.home}/common/lib/commons-logging.jar"/>
    </path>
    <!-- define deployer tasks -->
    <taskdef resource="org/apache/catalina/ant/catalina.tasks" 
classpathref="deployer.classpath"/>

  <target name="deploy" description="Install web application"
          depends="war">
    <echo message="Deploying ${instance} instance of ${app} to 
${deploy.instance} tomcat at ${deploy.host}:
${deploy.port}/${deploy.path}"/>
    <deploy url="${deploy.url}"
            username="${deploy.username}" password="${deploy.password}"
            path="${deploy.path}" war="${dist}/${war.name}"/>
  </target>

  <target name="undeploy" description="Undeploy web application">
    <echo message="Undeploying ${instance} instance of ${app} from 
${deploy.instance} tomcat at ${deploy.host}:
${deploy.port}/${deploy.path}"/>
    <undeploy url="${deploy.url}" username="${deploy.username}" 
password="${deploy.password}"
            path="${deploy.path}"/>
  </target>

-- 
Nicholas Sushkin, Senior Software Engineer
Open Finance

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to