user6882156
user6882156

Reputation:

maven filtering doesn't work for test goal

I have dedicated properties files for normal run and integration tests. They are in respectivelly src/main/resources and src/test/resources. In my POM I have the following:

...
<resources>
  <resource>
    <directory>src/main/resources</directory>
    <includes>
      <include>**/*.properties</include>
    </includes>
    <filtering>true</filtering>
  </resource>
  <resource>
    <directory>src/test/resources</directory>
    <includes>
      <include>**/*.properties</include>
    </includes>
    <filtering>true</filtering>
  </resource>
</resources>
<filters>
  <filter>src/main/resources/application.properties</filter>
  <filter>src/test/resources/application.properties</filter>
</filters>
...

When running "mvn package" I get my proprties file filtered in the target/classes directory. But when I run "mvn test" the properties file in the src/test/resources is copied in the target/test-classes one, but not filtered.

What am I missing here ? Many thanks in advance.

Upvotes: 0

Views: 302

Answers (1)

user6882156
user6882156

Reputation:

I'm replying to my own post. Here is the solution:

...
<resources>
  <resource>
    <directory>src/main/resources</directory>
    <includes>
      <include>**/*.properties</include>
    </includes>
    <filtering>true</filtering>
  </resource>
</resources>  
<testResources>
  <testResource>
    <directory>src/test/resources</directory>
    <includes>
      <include>**/*.properties</include>
    </includes>
    <filtering>true</filtering>
  </testResource>
</testResources>
<filters>
  <filter>src/main/resources/application.properties</filter>
  <filter>src/test/resources/application.properties</filter>
</filters>
...

This way the application.properties in both src/main/resources and src/test/resources are filtered.

Kind regards,

Nicolas

Upvotes: 1

Related Questions