Aktualisieren Sie Ihre Anwendungen auf die neueste unterstützte Laufzeitversion, um weiterhin Sicherheitsupdates zu erhalten und Anspruch auf technischen Support zu haben.
Das Upgrade einer vorhandenen Anwendung hängt von der Laufzeitversion ab, die Ihre Anwendung verwendet:
Java 8: Migrieren Sie Ihre Anwendung zur neuesten unterstützten Java Version. Der Support für Java 8 wurde am 31. Januar 2024 eingestellt und die Einstellung wird am 31. Januar 2026 abgeschlossen. Nach der Einstellung können Sie keine Java 8-Anwendungen mehr bereitstellen, auch wenn Ihre Organisation zuvor eine Organisationsrichtlinie verwendet hat, um die Bereitstellungen von Legacy-Laufzeiten wieder zu aktivieren. Ihre vorhandenen Java 8-Anwendungen werden nach dem Datum der Einstellung weiterhin ausgeführt und erhalten Traffic nach ihrer Einstellung Datum.
Java 11: Aktualisieren Sie Ihre Anwendung auf die neueste unterstützte Java Version. Der Support für Java 11 wurde am 31. Oktober 2024 eingestellt und die Einstellung wird am 31. Oktober 2025 abgeschlossen. Nach der Einstellung können Sie keine Java 11-Anwendungen mehr bereitstellen. Ihre vorhandenen Java 11-Anwendungen werden nach dem Datum der Einstellung weiterhin ausgeführt und erhalten Traffic nach dem Datum der Einstellung Datum.
Unterstützte Laufzeiten der zweiten Generation (Java 17 und Java 21):
App Engine unterstützt Java-Laufzeitversionen der zweiten Generation wie Java 17 und Java 21. So führen Sie ein Upgrade auf Java 25 durch:
Aktualisieren Sie die Datei
app.yaml, indem Sie eine Java-Version angeben, mit der Ihre Anwendung ausgeführt werden soll. Beispiel:runtime: javaVERSIONDabei ist VERSION die
MAJOR-Versionsnummer. Wenn Sie beispielsweise die neueste Java-Version, Java 25, verwenden möchten, geben Sie25an. Weitere Informationen finden Sie in der Übersicht zur Java-Laufzeit.Wenn Sie gebündelte Legacy-Dienste verwenden, aktualisieren Sie Ihre Anwendungen, damit sie auf einem der folgenden Systeme ausgeführt werden:
Java Enterprise Edition 11 (E11): EE 11 unterstützt keine
javax.servlet.*-APIs und erfordert die Aktualisierung Ihrer Anwendungen und Drittanbieterabhängigkeiten, um neuere Java-Artefakte wie denJakarta-Namespace zu verwenden. Java 25 wird standardmäßig auf EE 11 ausgeführt und unterstützt EE 10 nicht.Java Enterprise Edition 8 (EE 8): Mit Java EE 8 können Sie
javax.servlet.*-APIs verwenden, müssen aber geringfügige Konfigurationsänderungen an der Dateiappengine-web.xmlvornehmen.
Upgrade auf eine unterstützte Java-Version für gebündelte Legacy-Dienste
Java-Laufzeitkompatibilität
Standardmäßig enthält App Engine einen eingebetteten EE-Webserver in Ihrem Java-Projekt. Ab Java 25 wird der EE-Webserver während der Bereitstellung installiert. Google veröffentlicht regelmäßig eine neue Version der JAR-Datei. App Engine verwendet die neueste Version des eingebetteten EE-Webservers, wenn Sie Ihre Anwendung neu bereitstellen.
In der folgenden Tabelle sehen Sie, welche Java-Versionen mit Ihren Servlet-Versionen kompatibel sind. Weitere Informationen zu den Entry-Point-Features, Systemattributekonfigurationen, der resultierenden Jetty-Unterstützung und kompatiblen EE-Versionen finden Sie unter Entry-Point-Features.
| Enterprise Edition (EE) | Java-Version | Servlet | Kompatibilität |
|---|---|---|---|
| EE7 | 11 | 2.5 oder 3.1 | Es gibt keinen Community-Support für EE7. Der Support für Java 11 wurde eingestellt. Wir empfehlen, Ihre Anwendung auf die neueste Version von Java zu aktualisieren. |
| EE7 | 17 | 2.5 oder höher | Es gibt keinen Community-Support für EE7. Wir empfehlen, Ihre Anwendung auf EE 8 und höhere Versionen zu aktualisieren. |
| EE 8 | 17/21/25 | 2.5 und höher | Java EE 8 ist abwärtskompatibel mit Java EE6 und höher. Weitere Informationen finden Sie unter Java auf eine kompatible Enterprise Edition-Version (EE) aktualisieren. |
| EE 10 | 17/21 | 6.0 (Standard, empfohlen) Java 21 ist standardmäßig für die Ausführung von EE 10 konfiguriert. | Wenn Sie Java EE 10 verwenden möchten, aktualisieren Sie Ihre Anwendungsservlets und -abhängigkeiten, um den Jakarta-Namespace einzufügen. Weitere Informationen finden Sie unter Java auf eine kompatible Enterprise Edition-Version (EE) aktualisieren. Sie können Java 25 nicht auf EE10 verwenden. |
| EE 11 | 25 | 6.1 (Standard, empfohlen) Java 25 ist standardmäßig für die Ausführung von EE 11 konfiguriert. | Wenn Sie Java EE 11 verwenden möchten, aktualisieren Sie Ihre Anwendungsservlets und -abhängigkeiten, um den Jakarta-Namespace einzufügen. Weitere Informationen finden Sie unter Java auf eine kompatible Enterprise Edition-Version (EE) aktualisieren. |
Java auf eine kompatible Enterprise Edition-Version (EE) aktualisieren
Wenn Sie Java 25 auf Enterprise Edition 11 (EE 11) oder Java 21 auf Enterprise Edition 10 (EE 10) verwenden möchten, aktualisieren Sie Ihre Anwendungsservlets und -abhängigkeiten in Ihren
Maven- und Gradle-Dateien, um den Jakarta Namespace einzufügen:
Java 25 (EE 11)
So verwenden Sie Java 25 auf Enterprise Edition 11 (EE 11):
Ändern Sie die Versionsnummer in der Konfigurationsdatei
web.xmlinversion=6.1. Beispiel:<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_1.xsd" version="6.1"> ... </web-app>Benennen Sie Ihre Anwendungsservlets und -abhängigkeiten von
javax.servlet.*injakarta.servlet.*um:import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.Cookie; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; @WebServlet(name = "viewer", urlPatterns = {"/view"}) public class MyServlet extends HttpServlet { ......Aktualisieren Sie je nach
Jakarta-Namespace die verbleibenden Anwendungs-Drittanbieter-Abhängigkeiten auf neuere Java-Artefakte.Fügen Sie der Datei
appengine-web.xmldas folgende Systemattribut hinzu:<?xml version="1.0" encoding="utf-8"?> <appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> <runtime>java25</runtime> <system-properties> <property name="appengine.use.EE11" value="true"/> </system-properties> <app-engine-apis>true</app-engine-apis> </appengine-web-app>Optional: Java 25 unterstützt virtuelle Threads. Wenn Sie virtuelle Threads aktivieren möchten, fügen Sie das
appengine.use.virtualthreadsAttribut imsystem-propertiesTag in der Dateiappengine-web.xmlhinzu.
Java 21 (EE 10)
So verwenden Sie Java 21 auf Enterprise Edition 10 (EE 10):
Ändern Sie die Versionsnummer in der Konfigurationsdatei
web.xmlinversion=6.0. Beispiel:<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd" version="6.0"> ... </web-app>Benennen Sie Ihre Anwendungsservlets und -abhängigkeiten von
javax.servlet.*injakarta.servlet.*um:import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.Cookie; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; @WebServlet(name = "viewer", urlPatterns = {"/view"}) public class MyServlet extends HttpServlet { ......Aktualisieren Sie je nach
Jakarta-Namespace die verbleibenden Anwendungs-Drittanbieter-Abhängigkeiten auf neuere Java-Artefakte.Fügen Sie der Datei
appengine-web.xmldas folgende Systemattribut hinzu:<?xml version="1.0" encoding="utf-8"?> <appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> <runtime>java21</runtime> <!-- or java17 --> <system-properties> <property name="appengine.use.EE10" value="true"/> </system-properties> <app-engine-apis>true</app-engine-apis> </appengine-web-app>Optional: Java 21 unterstützt virtuelle Threads. Wenn Sie virtuelle Threads aktivieren möchten, fügen Sie das
appengine.use.virtualthreadsAttribut imsystem-propertiesTag in Ihrerappengine-web.xmlDatei hinzu.
Java 17 und höher (EE 8)
Verwenden Sie javax.servlet.*-APIs in Java EE 8, ohne größere Änderungen an der Anwendungskonfiguration vornehmen zu müssen. EE 8 bietet Abwärtskompatibilität für Java EE 6 und höher.
Wenn Sie Ihre Anwendungen auf Java EE 8 ausführen möchten, deklarieren Sie ein neues
system-properties Tag in Ihrer
appengine-web.xml
Datei mit der nicht standardmäßigen app.engine.use.EE8 Konfiguration:
<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<runtime>java17</runtime>
<system-properties>
<property name="appengine.use.EE8" value="true"/>
</system-properties>
<app-engine-apis>true</app-engine-apis>
</appengine-web-app>
Optional: Java-Version 21 und höher unterstützt virtuelle Threads. Wenn Sie virtuelle Threads aktivieren möchten, fügen Sie das Attribut appengine.use.virtualthreads im Tag system-properties hinzu. Beispiel:
<property name="appengine.use.virtualthreads" value="true"/>