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.