packagingExcludes和maven属性变量

时间:2015-02-21 12:00:44

标签: regex maven packaging

我有一个文件夹结构,如下所示 src / main / webapp /

enter image description here

我有一个maven属性 $ {sencha.env} ,可以是开发的测试或生产。我想在制作WAR时从构建目录中排除其他目录。我正在尝试以下但它不起作用。请指导 -

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.6</version>
    <configuration>
        <failOnMissingWebXml>false</failOnMissingWebXml>
        <webResources>
            <resource>
                <directory>src/main/webapp/build/${sencha.env}/BACK</directory>
            </resource>
        </webResources>
        <packagingExcludes>.sencha/**,app/**,ext/**,sass/**,%regex[build/(?!${sencha.env})]</packagingExcludes>
    </configuration>
</plugin>

请注意: packaging中包含%正则表达式[build /(?!$ {sencha.env})]

谢谢!

1 个答案:

答案 0 :(得分:1)

你很亲密;你需要%regex[build/(?!${sencha.env}/).*]。请注意.*,这意味着您要排除build/(?!${sencha.env}/以下的每个路径。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.6</version>
    <configuration>
        <failOnMissingWebXml>false</failOnMissingWebXml>
        <webResources>
            <resource>
                <directory>src/main/webapp/build/${sencha.env}/BACK</directory>
            </resource>
        </webResources>
        <packagingExcludes>.sencha/**,app/**,ext/**,sass/**,%regex[build/(?!${sencha.env}/).*]</packagingExcludes>
    </configuration>
</plugin>