Java 8 has reached end of support and will be deprecated on January 31, 2026. After deprecation, you won't be able to deploy Java 8 applications, even if your organization previously used an organization policy to re-enable deployments of legacy runtimes. Your existing Java 8 applications will continue to run and receive traffic after their deprecation date. We recommend that you migrate to the latest supported version of Java.

App Engine Java 8 Runtime FAQ

The following questions apply to the App Engine Java 8 standard runtime.

Can I use Kotlin with the Java 8 runtime?

Yes, check out our Kotlin samples in the GitHub repository.

Can I use IntelliJ IDEA Community Edition with App Engine?

Yes, using the built-in Maven integration.

You can also use IntelliJ Ultimate Edition, which provides you with more web application development features and has tighter integration with the App Engine deployment process.

Does App Engine Cloud Endpoints v1.0 work in the Java 8 runtime?

No. You must migrate to Cloud Endpoints Frameworks version 2.0.

Why do I get java.lang.NoClassDefFoundError for repackaged classes?

Repackaged internal classes, such as com/google/appengine/repackaged/com/google/common/collect/ImmutableList, are not available anymore in the Java 8 runtime, even if they are defined in previous versions of the App Engine API JAR.

If you need to use the repackaged classes in your Java 8 app, set appengine.api.legacy.repackaging to true in the appengine-web.xml. For example:

<system-properties>
<propertyname="appengine.api.legacy.repackaging"value="true">
</system-properties>

We recommend that you replace these classes with the public, non-repackaged classes.

Can I do traffic splitting between Java 8 and Java 11?

Yes, each service or module version can use a different runtime version, and traffic splitting is supported.

How are Java 8 threads treated when an instance isn't getting requests?

Threads created with App Engine APIs will continue to work as before.

Automatic Scaling Manual Scaling Basic Scaling
Instance terminates due to lack of requests. Instance terminates after the last request (default: 5 minutes) Runs forever.

What Metadata server features are supported in the App Engine Java 8 runtime?

The App Engine Java 8 runtime supports the following Metadata server urls:

/computeMetadata/v1/project/numeric-project-id(pending)
/computeMetadata/v1/project/project-id
/computeMetadata/v1/instance/zone
/computeMetadata/v1/instance/service-accounts/default/aliases
/computeMetadata/v1/instance/service-accounts/default/email
/computeMetadata/v1/instance/service-accounts/default/scopes
/computeMetadata/v1/instance/service-accounts/default/token
/computeMetadata/v1/instance/service-accounts/{account}/aliases
/computeMetadata/v1/instance/service-accounts/{account}/email
/computeMetadata/v1/instance/service-accounts/{account}/scopes
/computeMetadata/v1/instance/service-accounts/{account}/token

Metadata Server v1beta1

The v1beta1 Metadata server is deprecated and scheduled for shutdown. Ensure that you update all requests to use v1 or newer. For more information, see Transitioning to the v1 metadata server endpoint.

/computeMetadata/v1beta1/project/numeric-project-id(pending)
/computeMetadata/v1beta1/project/project-id
/computeMetadata/v1beta1/instance/zone
/computeMetadata/v1beta1/instance/service-accounts/default/aliases
/computeMetadata/v1beta1/instance/service-accounts/default/email
/computeMetadata/v1beta1/instance/service-accounts/default/scopes
/computeMetadata/v1beta1/instance/service-accounts/default/token
/computeMetadata/v1beta1/instance/service-accounts/{account}/aliases
/computeMetadata/v1beta1/instance/service-accounts/{account}/email
/computeMetadata/v1beta1/instance/service-accounts/{account}/scopes
/computeMetadata/v1beta1/instance/service-accounts/{account}/token

Why do my requests fail to respond?

If you create a thread pool on a request, you must make sure that you explicitly shut it down before the current request terminates.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025年12月17日 UTC.