2014-09-12 70 views
1

我想使用我的pom.xml的packagingExcludes元素排除多个正则表达式。根据Maven文档,此元素包含“一个以逗号分隔的Ant文件集模式列表”。Maven 3.2.2 packagingExcludes

但是,从我可以告诉每个这些被评估为“或”给其他人。这是如果我想这样做:

<packagingExcludes> 
    %regex[WEB-INF/lib(?!abc).jar], 
    %regex[WEB-INF/lib(?!xyz).jar] 
</packagingExcludes> 

什么都不包括在内。 abc.jar被排除,因为它不是xyz.jar,并且xyz.jar被排除,因为它不是abc.jar。

有没有办法让Maven使用“AND”关系来评估它们?

谢谢。

回答

1

如果我理解正确的话,你希望从WEB-INF/lib/*.jar排除所有文件,除了为和xyz.jar

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

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

为了可维护性,您可能希望考虑列出排除项。