无法从Maven构建中删除特定文件

时间:2016-05-03 13:08:14

标签: maven properties-file

我目前正在研究Maven构建。我想从我的Maven构建中删除特定文件。我目前正在尝试以下代码:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.4</version>
    <configuration>
        <webResources>
            <resource>
                <directory>src/main/resources</directory>
                <!-- override the destination directory for this resource -->
                <targetPath>WEB-INF/classes</targetPath>
                <!-- enable filtering -->
                <filtering>true</filtering>
                <includes>
                    <include>*.pem</include>
                    <include>*.pfx</include>
                    <include>META-INF/jpa-persistence.xml</include>
                    <include>META-INF/spring-persistence.xml</include>
                    <include>com/abc/config/build-config-${propertyenv}.properties</include>
                </includes>
                <excludes>
                    <exclude>%regex[(?!.*${propertyenv}/)*]</exclude>
                </excludes>
            </resource>
        </webResources>
    </configuration>
</plugin>

我已在我的POM中将propertyenv定义为属性值:

<properties>
    <propertyenv>abc</propertyenv>
</properties>

我只想要abc.properties文件夹中的com/abc/config个文件。但是在构建之后,所有.properties个文件都存在。请帮助。

1 个答案:

答案 0 :(得分:1)

使用packagingExcludespackagingIncludes参数来包含或排除最终战争中的文件

示例:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-war-plugin</artifactId>
  <version>2.6</version>
          ....
    <configuration>
          ....
                <packagingExcludes>
                    WEB-INF/lib/pax-logging-*.jar, WEB-INF/lib/jaxb-*-2.2.7.jar 
                </packagingExcludes>
    </configuration>
</plugin>