servlet programar programacion para mundo hola ejemplos configurar con aplicaciones java hibernate java-ee ant war

java - programar - Usar la tarea ant war para incluir archivos en el directorio WEB-INF



programar en java web (4)

¿Por qué no crear la estructura dir necesita la forma mkdir ?

Estoy usando hormiga para construir mi aplicación web. Estoy seguro de que esto es simple, pero no puedo entender cómo decirle a hormiga que cree una carpeta específica en el directorio WEB-INF y que copie archivos.

Mi tarea de guerra de hormigas se ve así:

<target name="warItUp" depends="compile"> <war destfile="MyApp.war" webxml="${home.dir}/WEB-INF/web.xml"> <classes dir="${classes.dir}"/> <classes file="${src.dir}/hibernate.cfg.xml"/> <classes dir="${src.dir}" includes="**/*.hbm.xml"/> <!-- Include the PDF files --> <fileset dir="${home.dir}/PDFs"> <include name="**/*.pdf"/> </fileset> <!-- Include the JSP files --> <fileset dir="${home.dir}/JSPs"> <include name="**/*.jsp"/> </fileset> <!-- Include the images --> <fileset dir="${home.dir}/images"> <include name="**/*"/> </fileset> </war>

Todos los elementos del conjunto de archivos funcionan, es decir, incluyen los archivos pdf, jsp y de imagen en el directorio raíz del archivo war.

Pero si quiero crear un subdirectorio en el directorio WEB-INF del archivo war e incluir archivos en él, ¿cómo lo especifico? por ejemplo, decir que quería incluir WEB-INF / TagLibraryDescriptors / MyTagLib.tld en el archivo war o si quería crear una carpeta WEB-INF / JSP en mi archivo war y copiar todos los archivos JSP.

Gracias.


Como alternativa al elemento webinf anidado, también puede usar el elemento zipfileset , que le permite especificar la carpeta fuente y el prefijo de ruta en el archivo:

<zipfileset dir="${home.dir}/JSPs" includes="**/*.jsp" prefix="WEB-INF/JSPs"/>


Intenta crear este directorio en tu proyecto y luego simplemente agrega el conjunto de archivos como se muestra a continuación:

<fileset dir="${home.dir}/WEB-INF/mydirectory/*"> <include name="**/*"/> </fileset>


OP aquí, gracias por todas las respuestas. Encontré otra solución: hay un elemento webinf que se puede incluir en la tarea de guerra.

Esto copiará los archivos de la carpeta fuente JSPs en la carpeta WEB-INF en el archivo war:

<webinf dir="${home.dir}/JSPs" includes="**/*.jsp"> </webinf>

mientras que esto copiará los archivos de la carpeta fuente JSPs en la carpeta WEB-INF / JSPs (mi opción preferida):

<webinf dir="${home.dir}" includes="/JSPs/**/*.jsp"> </webinf>

Creo que me quedaré con esta solución, pero gracias por las respuestas.