title: In Intellij, why must I clean and build the war to see changes when I run Google App Engine locally?
body: <p>I'm using google app engine to build a war and I've noticed that whenever I make local changes, they never get applied when I run locally.  I've figured out that the only way to see the changes I've made is to run a <code>mvn clean</code>, then make, then build the artifact, <em>then</em> deploy.  Here's a screenshot showing my configuration:  </p>
  
  <p><img src="https://i.stack.imgur.com/zNdD1.png" alt="configuration"></p>
  
  <p>If I'm missing any of these steps, restarting the server doesn't show any of the changes I've made.  I've made many non-google app engine webapps with intellij before and I don't normally have to do this.  How can I avoid all these steps?  They greatly increase the time it takes to restart my server.  </p>
  
  <p>In case it helps, here's my pom.xml file:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;project xmlns="http://maven.apache.org/POM/4.0.0"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"&gt;
      &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
      &lt;packaging&gt;war&lt;/packaging&gt;
      &lt;version&gt;1.0-SNAPSHOT&lt;/version&gt;
  
      &lt;groupId&gt;com.myapp&lt;/groupId&gt;
      &lt;artifactId&gt;myapp&lt;/artifactId&gt;
  
      &lt;properties&gt;
          &lt;appengine.app.version&gt;1&lt;/appengine.app.version&gt;
          &lt;appengine.target.version&gt;1.8.6&lt;/appengine.target.version&gt;
          &lt;project.build.sourceEncoding&gt;UTF-8&lt;/project.build.sourceEncoding&gt;
      &lt;/properties&gt;
  
      &lt;dependencies&gt;
          &lt;!-- Compile/runtime dependencies --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;com.google.appengine&lt;/groupId&gt;
              &lt;artifactId&gt;appengine-api-1.0-sdk&lt;/artifactId&gt;
              &lt;version&gt;${appengine.target.version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;javax.servlet&lt;/groupId&gt;
              &lt;artifactId&gt;servlet-api&lt;/artifactId&gt;
              &lt;version&gt;2.5&lt;/version&gt;
              &lt;scope&gt;provided&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;jstl&lt;/groupId&gt;
              &lt;artifactId&gt;jstl&lt;/artifactId&gt;
              &lt;version&gt;1.2&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;net.sourceforge.stripes&lt;/groupId&gt;
              &lt;artifactId&gt;stripes&lt;/artifactId&gt;
              &lt;version&gt;1.5.7&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.slf4j&lt;/groupId&gt;
              &lt;artifactId&gt;slf4j-api&lt;/artifactId&gt;
              &lt;version&gt;1.7.5&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.slf4j&lt;/groupId&gt;
              &lt;artifactId&gt;slf4j-jdk14&lt;/artifactId&gt;
              &lt;version&gt;1.7.5&lt;/version&gt;
          &lt;/dependency&gt;
  
  
  
  
          &lt;dependency&gt;
              &lt;groupId&gt;com.google.appengine&lt;/groupId&gt;
              &lt;artifactId&gt;appengine-testing&lt;/artifactId&gt;
              &lt;version&gt;${appengine.target.version}&lt;/version&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;com.google.appengine&lt;/groupId&gt;
              &lt;artifactId&gt;appengine-api-stubs&lt;/artifactId&gt;
              &lt;version&gt;${appengine.target.version}&lt;/version&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
      &lt;/dependencies&gt;
  
      &lt;build&gt;
          &lt;plugins&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
                  &lt;version&gt;2.5.1&lt;/version&gt;
                  &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;
                  &lt;configuration&gt;
                      &lt;source&gt;1.6&lt;/source&gt;
                      &lt;target&gt;1.6&lt;/target&gt;
                  &lt;/configuration&gt;
              &lt;/plugin&gt;
  
              &lt;plugin&gt;
                  &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
                  &lt;artifactId&gt;maven-war-plugin&lt;/artifactId&gt;
                  &lt;version&gt;2.3&lt;/version&gt;
                  &lt;configuration&gt;
                      &lt;archiveClasses&gt;true&lt;/archiveClasses&gt;
                      &lt;webResources&gt;
                          &lt;!-- in order to interpolate version from pom into appengine-web.xml --&gt;
                          &lt;resource&gt;
                              &lt;directory&gt;${basedir}/src/main/webapp/WEB-INF&lt;/directory&gt;
                              &lt;filtering&gt;true&lt;/filtering&gt;
                              &lt;targetPath&gt;WEB-INF&lt;/targetPath&gt;
                          &lt;/resource&gt;
                          &lt;resource&gt;
                              &lt;directory&gt;${basedir}/src/main/generated&lt;/directory&gt;
                              &lt;targetPath&gt;src/main/generated&lt;/targetPath&gt;
                          &lt;/resource&gt;
                          &lt;resource&gt;
                              &lt;directory&gt;${basedir}/src/main/scripts/img&lt;/directory&gt;
                              &lt;targetPath&gt;src/main/scripts/img&lt;/targetPath&gt;
                          &lt;/resource&gt;
                      &lt;/webResources&gt;
                  &lt;/configuration&gt;
              &lt;/plugin&gt;
  
              &lt;plugin&gt;
                  &lt;groupId&gt;com.google.appengine&lt;/groupId&gt;
                  &lt;artifactId&gt;appengine-maven-plugin&lt;/artifactId&gt;
                  &lt;version&gt;${appengine.target.version}&lt;/version&gt;
              &lt;/plugin&gt;
          &lt;/plugins&gt;
      &lt;/build&gt;
  
  &lt;/project&gt;
  </code></pre>