Maven资源过滤排除

23

我有以下的Maven配置:

        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <excludes>
                    <exclude>keystore.jks</exclude>
                </excludes>
            </resource>
        </resources>

我希望我的keystore.jks文件被包含在我的classes / war应用程序中,但不要被Maven过滤处理。

如何更改此配置?

2个回答

38
根据Maven Resource Filtering Documentation,这应该可以工作:
<resources>
    <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
        <excludes>
            <exclude>keystore.jks</exclude>
        </excludes>
    </resource>
    <resource>
        <directory>src/main/resources</directory>
        <filtering>false</filtering>
        <includes>
            <include>keystore.jks</include>
        </includes>
    </resource>
</resources>

1
Charels Hu的回答似乎是更好的方法,因为它不需要重复包含/排除和目录定义。 - Didier L
这对我没有起作用,而且链接中的文档也发生了变化...建议将筛选/未筛选的资源放在不同的文件夹中。 - krenkz

24

二进制过滤

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-resources-plugin</artifactId>
  <version>3.0.2</version>
  <configuration>
    <nonFilteredFileExtensions>
      <nonFilteredFileExtension>jks</nonFilteredFileExtension>
    </nonFilteredFileExtensions>
  </configuration>
</plugin>

谢谢,这解决了我的过滤问题。 - Gurkha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接