Maven 3.2.2包装除外

时间:2014-09-12 21:32:49

标签: regex maven ant

我想使用pom.xml的packagingExcludes元素排除多个正则表达式。根据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使用&#34; AND&#34;来评估它们?关系?

感谢。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您希望从WEB-INF/lib/*.jar 排除abc.jarxyz.jar以外的所有文件。

您可以通过提供与这些排除项匹配的单个正则表达式来解决此问题。 WEB-INF/lib/中的所有内容,除了那些随后包含(abc|xyz).jar然后结束的内容,然后在.jar中结束。

%regex[WEB-INF/lib/(?!(abc|xyz).jar$).*.jar]

为了维护,您可以考虑列出排除项。