Como adicionar arquivos TLD e Tag Lib ao projeto jar do Maven
Tenho um projeto Maven empacotado comojar
.
E eu também tenho um projeto Maven que é empacotado comowar
. Este projeto de guerra possui um arquivo tld e alguns arquivos xhtml (a tag libs). A estrutura do projeto de guerra é (basicamente):
pom.xml
src
main
java
...
webapp
WEB-INF
my-facelets.taglib.xml
facelets
aTag.xhtml
anotherTag.xhtml
META-INF
my-facelets.taglib.tld
E apareceu um requisito para remover os arquivos xml, xhtml e tld do projeto war e empacotá-los no projeto jar. Portanto, minha primeira tentativa foi adicionar o POM do projeto 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>
E coloque os arquivos, é claro, emsrc/main/tld
(os que eu queria exportar paraMETA-INF
) esrc/main/taglib
(os que eu queria exportar paraWEB-INF
). E o jar foi criado como eu desejo:
myjar
com
my
classes
WEB-INF
META-INF
my-facelets.taglib.tld
WEB-INF
...
E então adicionei este novo frasco ao meu primeiro projeto de guerra, como uma dependência inteligent
O problema é que esses arquivos .tld, .xhtml, .xml estão dentro do META-INF, WEB-INF do jar (o jar está dentro doWEB-INF/lib
) não são reconhecidos. Aparentemente, eles devem estar diretamente na estrutura de guerra, a menos que alguma outra configuração seja realizada. Esse é um requisito obrigatório, porque vários projetos de guerra usarão os recursos (classes e taglibs) do projeto jar.