20

I have a following maven configuration:

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

I want keystore.jks to be included in my classes/war application but not to be processed by Maven filtering.

How to change this configuration ?

alexanoid
  • 22,505
  • 46
  • 189
  • 364

2 Answers2

36

According to the Maven Resource Filtering Documentation, this should work:

<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>
Isabella Almeida
  • 769
  • 7
  • 12
  • The [answer from Charels Hu](https://stackoverflow.com/a/44965768/525036) seems to be a better approach as you don't have to duplicate your includes/excludes and directory definitions with it. – Didier L Aug 03 '21 at 13:58
19

Binary filtering

<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>
Charles Hu
  • 544
  • 5
  • 9