You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ant.apache.org by untz <un...@yahoo.com> on 2006/12/08 18:19:12 UTC
Problem running Undeploy Target in Tomcat 5.5.9
Hello there,
I am using JDK 1.5, Eclipse 3.2, and Tomcat 5.5.9. I wrote a build script which compiles, packages (via war file) the source, deploys (moves the war into TOMCAT_HOME/webapps), and is supposed to undeploy (by deleting the particular web app's directory & war file under TOMCAT_HOME/webapps).
The problem that I am encountering is that while Tomcat is running, I have a lib directory: TOMCAT_HOME/MyWebApp/WEB-INF/lib which contains several needed jar files. It seems that when I run my Ant's undeploy target, it refuses to delete the lib directory and thus the build breaks:
Buildfile: C:\DevProjects\guess_number\build.xml
undeploy:
[delete] Deleting directory C:\DevTools\tomcat\jakarta-tomcat-5.5.9\webapps\NumberGuess
BUILD FAILED
C:\DevProjects\guess_number\build.xml:57: Unable to delete file C:\DevTools\tomcat\jakarta-tomcat-5.5.9\webapps\NumberGuess\WEB-INF\lib\Echo2_App.jar
Total time: 345 milliseconds
build script:
<?xml version="1.0"?>
<project name="NumberGuess" default="deploy" basedir=".">
<property file="build.properties"/>
<target name="prepare">
<mkdir dir="${webapp.build.dir}" />
<mkdir dir="${webapp.build.dir}/WEB-INF" />
<mkdir dir="${webapp.build.dir}/WEB-INF/lib" />
<mkdir dir="${webapp.build.dir}/WEB-INF/classes" />
</target>
<target name="static" depends="prepare">
<!-- Copy web files -->
<copy todir="${webapp.build.dir}/">
<fileset dir="web" />
</copy>
<!-- Copy webapp configuration files -->
<copy todir="${webapp.build.dir}/WEB-INF/">
<fileset dir="etc" />
</copy>
<!-- Copy library files -->
<copy todir="${webapp.build.dir}/WEB-INF/lib/">
<fileset dir="lib" />
</copy>
<!-- Copy images -->
<copy todir="${webapp.build.dir}/WEB-INF/classes/echo2tutorial/">
<fileset dir="images"/>
</copy>
</target>
<target name="compile" depends="static">
<javac srcdir="src"
destdir="${webapp.build.dir}/WEB-INF/classes/"
deprecation="off" debug="on" optimize="off">
<classpath>
<!-- Include all JAR files in my local library -->
<fileset dir="lib">
<include name="*.jar"/>
</fileset>
<!-- Include all common libraries in Tomcat -->
<fileset dir="${tomcat.home}/common/lib">
<include name="*.jar"/>
</fileset>
</classpath>
</javac>
</target>
<target name="deploy" depends="compile">
<jar jarfile="${build.dir}/${webapp.name}.war" basedir="${webapp.build.dir}" />
<!-- Copy the newly built WAR file into the deployment directory -->
<copy file="${build.dir}/${webapp.name}.war" todir="${tomcat.deployment.dir}" />
</target>
<target name="undeploy">
<!-- Delete the deployment directory -->
<delete dir="${tomcat.deployment.dir}/${webapp.name}" />
<delete file="${tomcat.deployment.dir}/${webapp.name}.war" />
</target>
<target name="clean"
description="Clears all generated files, including build directories, distributables, and documentation.">
<delete dir="${build.dir}"/>
</target>
</project>
build.properties:
project.name=NumberGuess
build.dir=./build
# Webapp properties for the project
webapp.name=NumberGuess
webapp.build.dir=${build.dir}/${webapp.name}
webapp.virtual.host=localhost
# Tomcat properties
tomcat.home=C:/DevTools/tomcat/jakarta-tomcat-5.5.9
tomcat.deployment.dir=${tomcat.home}/webapps
When I manually shutdown Tomcat, I am able to run my undeploy target just fine... But I need it to be able to undeploy while Tomcat is running.
Many, many thanks!
-Unnsse
Re: Problem running Undeploy Target in Tomcat 5.5.9
Posted by Steve Loughran <st...@apache.org>.
untz wrote:
> Hello there,
>
> I am using JDK 1.5, Eclipse 3.2, and Tomcat 5.5.9. I wrote a build script which compiles, packages (via war file) the source, deploys (moves the war into TOMCAT_HOME/webapps), and is supposed to undeploy (by deleting the particular web app's directory & war file under TOMCAT_HOME/webapps).
>
> The problem that I am encountering is that while Tomcat is running, I have a lib directory: TOMCAT_HOME/MyWebApp/WEB-INF/lib which contains several needed jar files. It seems that when I run my Ant's undeploy target, it refuses to delete the lib directory and thus the build breaks:
>
> Buildfile: C:\DevProjects\guess_number\build.xml
> undeploy:
> [delete] Deleting directory C:\DevTools\tomcat\jakarta-tomcat-5.5.9\webapps\NumberGuess
>
> BUILD FAILED
> C:\DevProjects\guess_number\build.xml:57: Unable to delete file C:\DevTools\tomcat\jakarta-tomcat-5.5.9\webapps\NumberGuess\WEB-INF\lib\Echo2_App.jar
>
> When I manually shutdown Tomcat, I am able to run my undeploy target just fine... But I need it to be able to undeploy while Tomcat is running.
>
Means there are files in use; tomcat has the files open and you cannot
delete them.
Switching to unix will fix this, but not much else
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org