Estoy usando Apache Ant 1.8 para implementar una aplicación web en un servidor Tomcat local, y el archivo build.xml (a continuación) produce el efecto deseado cuando ejecuto 'ant deploy' en la línea de comando.Cómo Apache Ant implementa el archivo .war en Tomcat
Mi pregunta es, noté que el archivo .war se coloca donde lo esperaba (deploy.dir está definido en el archivo build.properties de mi directorio personal), pero también desempaquetó inesperadamente el .war y extrajo el contexto en sí mismo en ese mismo directorio. ¿Dónde se configura eso en el siguiente archivo build.xml?
<target name='init'>
<property file='${user.home}/build.properties'/>
<property name='app.name' value='${ant.project.name}'/>
<property name='src.dir' location='src'/>
<property name='lib.dir' location='lib'/>
<property name='build.dir' location='build'/>
<property name='classes.dir' location='${build.dir}/classes'/>
<property name='dist.dir' location='${build.dir}/dist'/>
</target>
<target name='initdirs' depends='init'>
<mkdir dir='${classes.dir}'/>
<mkdir dir='${dist.dir}'/>
</target>
<target name='compile' depends='initdirs'>
<javac srcdir='${src.dir}/java' destdir='${classes.dir}'>
<!--
<classpath>
<fileset dir='${lib.dir}/development' includes='javaee.jar'/>
<fileset dir='${lib.dir}/production' includes='jr.jar'/>
</classpath>
-->
</javac>
</target>
<target name='war' depends='compile'>
<war destFile='${dist.dir}/${app.name}.war' webxml='${src.dir}/web/WEB-INF/web.xml'>
<classes dir='${classes.dir}'/>
<!--
<zipfileset dir='${lib.dir}/production' includes='jr.jar' prefix='WEB-INF/lib' />
-->
<fileset dir='${src.dir}/web' excludes='WEB-INF/web.xml' />
</war>
</target>
<target name='build' depends='war' description='compile and create the war' />
<target name='clean' depends='init' description='Use for a clean build'>
<delete dir='${build.dir}' />
</target>
<target name='ffbuild' depends='clean, build' description='clean and create the war'/>
<target name='deploy' depends='initdirs' description='copy the war file to the app server'>
<delete verbose='true' dir='${deploy.dir}/${app.name}'/>
<fail unless='deploy.dir' message='build.properties must exist in your home directory and define deploy.dir' />
<copy todir='${deploy.dir}' file='${dist.dir}/${app.name}.war'/>
</target>
@dvanaria: Como un lado, su archivo build.xml se parece mucho a [uno de los archivos de compilación estándar de JavaRanch] (http://www.javaranch.com/drive/servlet/index.jsp#ant). ... ¿quizás también podrías pedirle ayuda a su comunidad? –