I am having an issue where when I run by Maven build from Intellij 15.0.2 the Maven Resources Plugin is not filtering my properties into my files. It does work when I run mvn compile
from the Windows command line. My plugin config is:
<properties>
<prop1>aaa</prop1>
<prop2>bbb</prop2>
</properties>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<configuration>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>file1</include>
<include>file2</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>resources</goal>
</goals>
</execution>
</executions>
</plugin>
Thi was my solution.
Go to Run>Edit Configurations.
In the Server tab> Before launch.
Delete the artifact and add this maven goal: clean compile
The fix
tldr: I was able to reproduce your problem and then fixed it by moving out the
<resources>
element from the plugin configuration to directly under<build>
like so:Future readers, if you were only interested in the fix, read no further. For the intrepid SO-er, gory details await below!
Why did I do that?
I did the above since that is how I had turned on resource filtering in a previous project. I did not need to change the default phase (
process-resources
) and therefore did not need to explicitly specify themaven-resources-plugin
at all. However, I was curious to find out why OP's configuration did not work and therefore looked at the examples for theresources
mojo in maven-resources-plugin documentation which seemed to have the<resources>
specified directly under<build>
.The wording in the Usage documentation seems to imply that the
<resources>
configuration is needed under plugin configuration only for thecopy-resources
mojo:Update
Should have started with the maven-resources-plugin introduction which clearly states:
Intellij's weirdness?
I am tempted to suggest that Intellij is/was not at fault.
With Intellij 15.0.2, the filtering behaviour (i.e. whether it works or not) was identical when executing
mvn clean compile
from Intellij or from command line. I would've thought that the problem was in the plugin/pom configuration and not Intellij itself, unless there is a bug in Intellij's maven integration. For what's it worth, I have not yet encountered this problem when using maven from within Intellij (been using it for a while now starting from version 12.x).Is your Intellij using a bundled mvn that is different from the mvn being used by the command line? i.e. is the maven same when seen here and from command line? That is the only thing I can think of, besides a bug in Intellij's maven integration (unlikely) that might account for the different behaviours that you are seeing.