title: When to use mvn clean install instead of mvn install?
body: <p>I have a web application that is packaged as a <code>war</code> file ( including several <code>jar</code> files ).
  I noticed that when I run mvn install - the only projects that are compiled are those who have changed - then it replaces these <code>jar</code>s in the <code>war</code> file.</p>
  
  <p>If that's the case - when should I use mvn clean install instead of simply use mvn install?</p>
  
  <p>I guess that if I change any resources than I would have to use mvn clean install - Am I right?</p>
  
  <p>And if I'm right, then whenever I only change classes, is mvn install good enough?</p>