Managed VM's require in your appengine-web.xml
or it's app.yaml
equivalent:
<beta-settings>
<setting name="java_quickstart" value="true" />
</beta-settings>
And you use try to deploy you get this RuntimeException, what's going on?
As part of the deployment process, both the gcloud preview app deploy
and mvn gcloud:deploy
commands will launch jetty locally as part of the discovery of your annotations. If there is an error in your code it will crash. For example, in your contextedDestroyed
or contextInitialized
methods they will crash.
If you are using Maven, it is possible to debug this issue by:
For Java SDK 1.9.32:
java -jar ~/.m2/repository/com/google/appengine/appengine-java-sdk/1.9.32/appengine-java-sdk/appengine-java-sdk-1.9.32/lib/java-managed-vm/appengine-java-vmruntime/quickstartgenerator.jar target/myExplodedWar-1.0-SNAPSHOT
For Java SDK 1.9.33:
java -jar ~/.m2/repository/com/google/appengine/appengine-java-sdk/1.9.33/appengine-java-sdk/appengine-java-sdk-1.9.33/lib/java-managed-vm/appengine-java-vmruntime/quickstartgenerator.jar target/myExplodedWar-1.0-SNAPSHOT ~/.m2/repository/com/google/appengine/appengine-java-sdk/1.9.33/appengine-java-sdk/appengine-java-sdk-1.9.33/lib/jetty-base-sdk/etc/webdefault.xml
We expect this to be fixed in Java SDK 1.9.35