$headContent
A good option is using the jrebel java agent.
To use jrebel simply run the plugin with the gae.javaAgent option active:
mvn gae:run -Dgae.javaAgent=$REBEL_HOME/jrebel.jar
Yes, as of 0.7.0 the plugin's dependencies are non transitive and must always be specified
More clearly: You can now simply change the version of gae-runtime
It's simple: In your project's pom, instead of depending on gae-runtime, you can directly depend on the app-engine libraries:
<plugin>
<groupId>net.kindleit</groupId>
<artifactId>maven-gae-plugin</artifactId>
<version>${maven.gae.plugin.version}</version>
<dependencies>
<dependency>
<groupId>net.kindleit</groupId>
<artifactId>gae-runtime</artifactId>
<version>SOME_OLD_VERSION</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-tools-sdk</artifactId>
<version>1.5.0</version>
</dependency>
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-api-1.0-sdk</artifactId>
<version>1.5.0</version>
</dependency>
</dependencies>
</plugin>
A very good article was written by David Chadler on how to set this up: How to Use Google Plugin for Eclipse with Maven
See the Eclipse section.
The Java development server does not support sendmail like the Python development server.
However, you can update the configuration settings so e-mails are logged:
<plugin>
<groupId>net.kindleit</groupId>
<artifactId>maven-gae-plugin</artifactId>
<version>${maven.gae.plugin.version}</version>
<configuration>
<jvmFlags>
<jvmFlag>-Dmail.log_mail_level=WARNING</jvmFlag>
<jvmFlag>-Dmail.log_mail_body=true</jvmFlag>
</jvmFlags>
<severity>0</severity>
<serverId>${server.id}</serverId>
</configuration>
<dependencies>
<dependency>
<groupId>net.kindleit</groupId>
<artifactId>gae-runtime</artifactId>
<version>${gae.runtime}</version>
<type>pom</type>
</dependency>
</dependencies>
</plugin>