Kothari, Shivani wrote:
Hi,
I want to replace context.xml in already deployed application .war file
and in application folder in webapps. How can this be achieved in ant.
I have written below code - but this currpting my existing deployed
application.


<unwar src="application.war" dest="${dirs.working}/temp"/>
        <delete file="var/lib/tomcat55/webapps/application.war"/>
        <delete dir="var/lib/tomcat55/webapps/application"/>
        <copy
file="var/lib/tomcat55/webapps/application/META-INF/context.xml"
todir="${dirs.working}/temp/META-INF/"/>

<!-- Creating the Configured application web archive for
Deployment-->
      <war destfile=var/lib/tomcat55/webapps/application.war"
webxml="${dirs.working}/temp/WEB-INF/web.xml" update="yes">
           <fileset dir="${dirs.working}/temp"/>
      </war>              


If anybody can help on this..

Thanks in advance!!

Andy.

This is a pretty dangerous way of working with WAR files, though I understand why you need to generate new WARs for every target. Indeed, this is one reason why I don't like war files. Remember that <war> is just <jar> with a few hard-coded options; you can use <jar> or <zip> to bundle up a directory tree.

1. just <unzip> and then <zip> after the <copy>, but remember to use overwrite="true" in the copy to force overwrite the unzipped XML file with the custom one, even if the unzipped XML file is newer.

2. Dont do this on the live machine; do it before it gets there

Looking at your code

-you delete a dir
         <delete dir="var/lib/tomcat55/webapps/application"/>

-then copy a file from under that directory
         <copy
 file="var/lib/tomcat55/webapps/application/META-INF/context.xml"
 todir="${dirs.working}/temp/META-INF/"/>

That is unlikely to work well. You should keep that context.xml somewhere safe and copy it in using overwrite="true" in <copy>

--
Steve Loughran                  http://www.1060.org/blogxter/publish/5
Author: Ant in Action           http://antbook.org/

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to