TheGuyNextDoor
TheGuyNextDoor

Reputation: 7937

Force Maven clean

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

Answers (3)

nkr1pt
nkr1pt

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

Andreas Dolk
Andreas Dolk

Reputation: 114767

Sure. Visit the Maven clean plugin usage page, they provide an example how to run the plugin automatically during build.

Upvotes: 4

JoseK
JoseK

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

Related Questions