У меня есть проект Maven, упакованный как jar
.
И еще у меня есть проект Maven, упакованный как war
. В этом военном проекте есть файл tld и несколько файлов xhtml (тег libs). Структура военного проекта (в основном) следующая:
pom.xml
src
main
java
...
webapp
WEB-INF
my-facelets.taglib.xml
facelets
aTag.xhtml
anotherTag.xhtml
META-INF
my-facelets.taglib.tld
Затем появилось требование удалить эти xml, xhtml и tld файлы из военного проекта и упаковать их в проект jar. Итак, моей первой попыткой было добавить POM проекта 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>
И поместить файлы, конечно же, в src / main / tld
(те, которые я хотел экспортировать в META-INF
) и src / main / taglib
(те, которые я хотел экспортировать в WEB-INF
). И jar был создан так, как я хотел:
myjar
com
my
classes
WEB-INF
META-INF
my-facelets.taglib.tld
WEB-INF
...
А затем я добавил этот новый jar в свой первый военный проект в качестве зависимости maven.
Проблема в том, что те файлы .tld, .xhtml, .xml, которые находятся внутри файлы META-INF, WEB-INF из jar-файла (jar-файл находится внутри war WEB-INF / lib
) не распознаются. По-видимому, они должны быть непосредственно в военной структуре, если не выполняется какая-либо другая конфигурация. Это обязательное требование, потому что несколько военных проектов будут использовать функции (классы и библиотеки тегов) проекта jar.