Cómo agregar archivos TLD y Tag Lib en un proyecto jar de Maven
Tengo un proyecto Maven que está empaquetado comojar
.
Y también tengo un proyecto Maven que está empaquetado comowar
. Este proyecto de guerra tiene un archivo tld y algunos archivos xhtml (la etiqueta libs). La estructura del proyecto de guerra es (básicamente):
pom.xml
src
main
java
...
webapp
WEB-INF
my-facelets.taglib.xml
facelets
aTag.xhtml
anotherTag.xhtml
META-INF
my-facelets.taglib.tld
Y luego apareció un requisito para eliminar esos archivos xml, xhtml y tld del proyecto war y empaquetarlos en el proyecto jar. Así que mi primer intento fue agregar en el POM del proyecto jar:
<resources>
<resource>
<directory>src/main/tld</directory>
<targetPath>META-INF</targetPath>
</resource>
<resource>
<directory>src/main/taglib</directory>
<targetPath>WEB-INF</targetPath>
</resource>
</resources>
Y ponga los archivos, por supuesto, ensrc/main/tld
(las que quería exportar aMETA-INF
) ysrc/main/taglib
(las que quería exportar aWEB-INF
). Y el frasco fue creado como deseo:
myjar
com
my
classes
WEB-INF
META-INF
my-facelets.taglib.tld
WEB-INF
...
Y luego agregué este nuevo jar a mi primer proyecto de guerra, como una dependencia maven.
El problema es que esos archivos .tld, .xhtml, .xml que están dentro del META-INF, WEB-INF del jar (el jar está dentro del war'sWEB-INF/lib
) no se reconocen. Aparentemente deberían estar directamente en la estructura de guerra, a menos que se realice alguna otra configuración. Este es un requisito imprescindible, porque varios proyectos de guerra utilizarán las características (clases y taglibs) del proyecto jar.