我有一个打包为的Maven项目 jar
。
我还有一个打包为的Maven项目 war
。这个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
然后出现了从war项目中删除那些xml,xhtml和tld文件并将它们打包到jar项目中的要求。所以我的第一次尝试是添加jar项目的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>
然后把文件放进去 src/main/tld
(我想出口的那些 META-INF
)和 src/main/taglib
(我想出口的那些 WEB-INF
)。罐子是按照我的意愿创建的:
myjar
com
my
classes
WEB-INF
META-INF
my-facelets.taglib.tld
WEB-INF
...
然后我将这个新jar添加到我的第一个war项目中,作为maven依赖。
问题是那些在jar的META-INF,WEB-INF里面的.tld,.xhtml,.xml文件(jar在war里面 WEB-INF/lib
)不被承认。显然他们应该直接进入战争结构,除非执行其他一些配置。这是必须要求的,因为多个war项目将使用jar项目的功能(类和taglib)。