title: Google Cloud SDK: Unable to deploy due to missing entrypoint in app.yaml
body: <p>On June 30 2020, Google are closing down the Google App Engine SDK and tooling. I have been migrating my project to Java 11 and the Google Cloud SDK. The project I am working on is just made up of servlets. I am running into issues during deployment, with the final error showing:</p>
  
  <blockquote>
    <p>"GCLOUD: Error message: Failed to generate app command: failure to
    generate application start command: missing entrypoint entry in
    app.yaml."</p>
  </blockquote>
  
  <p>Upon attempting to deploy, using: "mvn package appengine:deploy" the following output is produced:</p>
  
  <pre><code>[INFO] --- maven-war-plugin:2.2:war (default-war) @ hellokb3 ---
  WARNING: An illegal reflective access operation has occurred
  WARNING: Illegal reflective access by com.thoughtworks.xstream.core.util.Fields (file:/C:/Users/Emperor/.m2/repository/com/thoughtworks/xstream/xstream/1.3.1/xstream-1.3.1.jar) to field java.util.Properties.defaults
  WARNING: Please consider reporting this to the maintainers of com.thoughtworks.xstream.core.util.Fields
  WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
  WARNING: All illegal access operations will be denied in a future release
  [INFO] Packaging webapp
  [INFO] Assembling webapp [hellokb3] in [C:\Users\Emperor\eclipse-workspace\hellokb3\target\hellokb3-0.1.0-SNAPSHOT]
  [INFO] Processing war project
  [INFO] Copying webapp resources [C:\Users\Emperor\eclipse-workspace\hellokb3\src\main\webapp]
  [INFO] Webapp assembled in [11192 msecs]
  [INFO] Building war: C:\Users\Emperor\eclipse-workspace\hellokb3\target\hellokb3-0.1.0-SNAPSHOT.war
  [INFO] WEB-INF\web.xml already added, skipping
  [INFO]
  [INFO] --- appengine-maven-plugin:2.1.0:deploy (default-cli) @ hellokb3 ---
  [INFO] Staging the application to: C:\Users\Emperor\eclipse-workspace\hellokb3\target\appengine-staging
  [INFO] Detected App Engine app.yaml based application.
  Oct 01, 2019 3:16:26 PM com.google.cloud.tools.appengine.operations.GcloudRunner run
  INFO: submitting command: C:\Users\Emperor\AppData\Local\google\ct4j-cloud-sdk\LATEST\google-cloud-sdk\bin\gcloud.cmd app deploy --version 1 --project kbnetworld
  [INFO] GCLOUD: Services to deploy:
  [INFO] GCLOUD:
  [INFO] GCLOUD: descriptor:      [C:\Users\Emperor\eclipse-workspace\hellokb3\target\appengine-staging\app.yaml]
  [INFO] GCLOUD: source:          [C:\Users\Emperor\eclipse-workspace\hellokb3\target\appengine-staging]
  [INFO] GCLOUD: target project:  [testworld]
  [INFO] GCLOUD: target service:  [default]
  [INFO] GCLOUD: target version:  [1]
  [INFO] GCLOUD: target url:      [https://testworld.appspot.com]
  [INFO] GCLOUD:
  [INFO] GCLOUD:
  [INFO] GCLOUD: Beginning deployment of service [default]...
  [INFO] GCLOUD: #============================================================#
  [INFO] GCLOUD: #= Uploading 2 files to Google Cloud Storage                =#
  [INFO] GCLOUD: #============================================================#
  [INFO] GCLOUD: File upload done.
  [INFO] GCLOUD: Updating service [default]...
  [INFO] GCLOUD: .........................................................................................................................................................failed.
  [INFO] GCLOUD: ERROR: (gcloud.app.deploy) Error Response: [9] Cloud build da851139-6c89-4065-93c0-0940580b6af8 status: FAILURE.
  [INFO] GCLOUD: Error ID: 80D70A67.
  [INFO] GCLOUD: Error type: InternalError.
  [INFO] GCLOUD: Error message: Failed to generate app command: failure to generate application start command: missing entrypoint entry in app.yaml.
  [INFO] ------------------------------------------------------------------------
  [INFO] BUILD FAILURE
  [INFO] ------------------------------------------------------------------------
  [INFO] Total time:  01:09 min
  [INFO] Finished at: 2019-10-01T15:17:16+01:00
  [INFO] ------------------------------------------------------------------------
  </code></pre>
  
  <p>A fat-jar is built, so it compiles fine. I have checked it and can see all the dependencies are included. </p>
  
  <p>According to the documentation it is possible to deploy the application with the YAML configuration the runtime and any fatjars will be executed. However, the build is failing and stating the entrypoint in the yaml file must be added, despite this being an optional field in the documentation.</p>
  
  <pre><code>runtime: java11
  
  handlers:
    - url: /.*
      script: this field is required, but ignored
  </code></pre>
  
  <p>I have configured my servlets in web.xml.</p>
  
  <p>Has anyone experienced anything similar and can point me in the direction as to why the deployment is failing? Thanks in advance.</p>