Reputation: 7937
I have a project with 2 profiles, because UAT and PROD use different versions of the same jar.
I have noticed that if i don't explicitly call mvn clean ...
the deployed EAR will have BOTH UAT and PROD jars.
Is there a way in the POM to specify that Maven should always clean before any building?
Upvotes: 25
Views: 13848
Reputation: 4666
Please read up on the maven lifecycle especially the package lifecycle.
The maven clean plugin you use will probably allow you to define a clean goal at a particular pahse. You can also execute for example mvn clean install -P profile
Upvotes: 0
Reputation: 114767
Sure. Visit the Maven clean plugin usage page, they provide an example how to run the plugin automatically during build.
Upvotes: 4
Reputation: 31371
Use the maven-clean-plugin
with the initialize
phase as given here
http://maven.apache.org/plugins/maven-clean-plugin/usage.html
<project>
[...]
<build>
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.4.1</version>
<executions>
<execution>
<id>auto-clean</id>
<phase>initialize</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
[...]
</project>
Upvotes: 52