2014-09-12 72 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] 

爲了可維護性,您可能希望考慮列出排除項。