I have a Maven project that is packaged as jar
.
And I also have a Maven project that is packaged as war
. This war project has a tld file and some xhtml files (the tag libs). The structure of the war project is (basically):
pom.xml
src
main
java
...
webapp
WEB-INF
my-facelets.taglib.xml
facelets
aTag.xhtml
anotherTag.xhtml
META-INF
my-facelets.taglib.tld
And then appeared a requirement to remove those xml, xhtml and tld files from the war project and package them into the jar project. So my first try was add in the jar project's POM:
<resources>
<resource>
<directory>src/main/tld</directory>
<targetPath>META-INF</targetPath>
</resource>
<resource>
<directory>src/main/taglib</directory>
<targetPath>WEB-INF</targetPath>
</resource>
</resources>
And put the files, of course, into src/main/tld
(the ones I wanted to export into META-INF
) and src/main/taglib
(the ones I wanted to export into WEB-INF
). And the jar was created as I wish:
myjar
com
my
classes
WEB-INF
META-INF
my-facelets.taglib.tld
WEB-INF
...
And then I added this new jar to my first war project, as a maven dependency.
The problem is that those .tld, .xhtml, .xml files that are inside the jar's META-INF, WEB-INF (the jar is inside war's WEB-INF/lib
) are not recognized. Apparently they should be directly into the war structure, unless some other configuration is performed. This is a must-have requirement, because multiple war projects will use the features (classes and taglibs) of the jar project.