我想使用pom.xml的packagingExcludes元素排除多个regex表达式。根据Maven文档,该元素包含"以逗号分隔的Ant文件集模式列表"。
然而,据我所知,每一个都被评估为对其他人的"OR"。如果我想这样做的话:
<packagingExcludes>
%regex[WEB-INF/lib(?!abc).jar],
%regex[WEB-INF/lib(?!xyz).jar]
</packagingExcludes>
不包含任何内容。abc.jar因为不是xyz.jar而被排除,xyz.jar因为不是abc.jar而被排除。
有没有一种方法可以让Maven使用"与"关系来评估这些?
谢谢。
如果我理解正确,您希望从WEB-INF/lib/*.jar
中排除除abc.jar
和xyz.jar
的之外的所有文件。
您可以通过提供与这些排除项匹配的单个正则表达式来解决此问题。WEB-INF/lib/
中的所有内容,除了那些包含(abc|xyz).jar
然后结束的内容,以及在.jar
中结束的内容。
%regex[WEB-INF/lib/(?!(abc|xyz).jar$).*.jar]
为了便于维护,您可能希望考虑列出排除项。