Skip to content

Commit 7ef88c6

Browse files
ludochgae-java-bot
authored andcommitted
Update README.md for Java 25 support and add Jetty 12.1.0 library content.
PiperOrigin-RevId: 807287781 Change-Id: Id0d2ccb79b4dbcf2e9df3b0fed60264c962a40c3
1 parent 4847911 commit 7ef88c6

3 files changed

Lines changed: 798 additions & 177 deletions

File tree

README.md

Lines changed: 48 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
[![Maven][maven-version-image]][maven-version-link]
1818
[![Code of conduct](https://img.shields.io/badge/%E2%9D%A4-code%20of%20conduct-blue.svg)](https://github.com/GoogleCloudPlatform/appengine-java-standard/blob/main/CODE_OF_CONDUCT.md)
1919

20-
# Google App Engine Standard Environment Source Code for Java 8, Java 11, Java 17, Java 21.
20+
# Google App Engine Standard Environment Source Code for Java 17, Java 21, Java25
2121

2222

2323
This repository contains the Java Source Code for [Google App Engine
@@ -27,13 +27,13 @@ standard environment][ae-docs], the production runtime, the AppEngine APIs, and
2727

2828
## Prerequisites
2929

30-
### Use a JDK8 environment, so it can build the Java8 GAE runtime.
30+
### Use a JDK17 environment, so it can build the Java17 GAE runtime.
3131

32-
[jdk8](https://adoptium.net/), but using a JDK11 or JDK17 of JDK21 is also possible.
32+
[jdk8](https://adoptium.net/), but using a JDK21 or JDK25 is also possible.
3333

34-
The shared code base is also used for GAE Java 11, Java 17 and Java 21 build and test targets, using GitHub actions:
34+
The shared code base is also used for GAE Java 17, Java 17 and Java 25 build and test targets, using GitHub actions:
3535

36-
- [Java 17/21 Continuous Integration](https://github.com/GoogleCloudPlatform/appengine-java-standard/actions/workflows/maven.yml)
36+
- [Java 17/21/25 Continuous Integration](https://github.com/GoogleCloudPlatform/appengine-java-standard/actions/workflows/maven.yml)
3737

3838
## Releases
3939

@@ -100,12 +100,33 @@ Source code for all public APIs for com.google.appengine.api.* packages.
100100
...
101101
```
102102
103-
* Java 21 with Jakarta or javax appengine-web.xml
103+
* Maven Java 25 Alpha with Jarkata EE 11 support pom.xml (EE10 is not supported in Java25, EE11 is fully compatible with EE10)
104+
105+
```
106+
<packaging>war</packaging><!-- Servlet 6.1 WAR packaging-->
107+
...
108+
<dependencies>
109+
<dependency>
110+
<groupId>com.google.appengine</groupId>
111+
<artifactId>appengine-api-1.0-sdk</artifactId>
112+
<version>2.0.38</version><!-- or later-->
113+
</dependency>
114+
<dependency>
115+
<groupId>jakarta.servlet</groupId>
116+
<artifactId>jakarta.servlet-api</artifactId>
117+
<version>6.1.0</version>
118+
<scope>provided</scope>
119+
</dependency>
120+
...
121+
```
122+
123+
124+
* Java 21/25 with javax EE8 profile appengine-web.xml
104125
105126
```
106127
<?xml version="1.0" encoding="utf-8"?>
107128
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
108-
<runtime>java21</runtime>
129+
<runtime>java21</runtime> <-- or java25 alpha-->
109130
<app-engine-apis>true</app-engine-apis>
110131
111132
<!-- Add optionally:
@@ -118,8 +139,8 @@ Source code for all public APIs for com.google.appengine.api.* packages.
118139
```
119140
120141
121-
- [Public Java 21 Documentation](https://cloud.google.com/appengine/docs/standard/java-gen2/runtime)
122-
- [How to upgrade to Java21](https://cloud.google.com/appengine/docs/standard/java-gen2/upgrade-java-runtime)
142+
- [Public Java 21/25 Documentation](https://cloud.google.com/appengine/docs/standard/java-gen2/runtime)
143+
- [How to upgrade to Java21/25](https://cloud.google.com/appengine/docs/standard/java-gen2/upgrade-java-runtime)
123144
124145
* Java 17 appengine-web.xml
125146
@@ -131,12 +152,23 @@ Source code for all public APIs for com.google.appengine.api.* packages.
131152
</appengine-web-app>
132153
```
133154
134-
* Java 11 appengine-web.xml
155+
* Java 21 appengine-web.xml (will default to EE10, but EE8 possible)
156+
157+
```
158+
<?xml version="1.0" encoding="utf-8"?>
159+
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
160+
<runtime>java21</runtime>
161+
<app-engine-apis>true</app-engine-apis>
162+
</appengine-web-app>
163+
```
164+
165+
166+
* Java 25 appengine-web.xml (will default to EE11, but EE8 possible) Alpha
135167
136168
```
137169
<?xml version="1.0" encoding="utf-8"?>
138170
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
139-
<runtime>java11</runtime>
171+
<runtime>java25</runtime>
140172
<app-engine-apis>true</app-engine-apis>
141173
</appengine-web-app>
142174
```
@@ -167,13 +199,13 @@ Source code for remote APIs for App Engine.
167199
```
168200
169201
170-
* Servlet Jarkata EE10 web.xml
202+
* Servlet Jarkata EE10 and EE11 web.xml
171203
172204
```
173205
<servlet>
174206
<display-name>Remote API Servlet</display-name>
175207
<servlet-name>RemoteApiServlet</servlet-name>
176-
<servlet-class>com.google.apphosting.utils.remoteapi.EE10RemoteApiServlet</servlet-class>
208+
<servlet-class>com.google.apphosting.utils.remoteapi.JakartaRemoteApiServlet</servlet-class>
177209
<load-on-startup>1</load-on-startup>
178210
</servlet>
179211
<servlet-mapping>
@@ -276,9 +308,9 @@ Source code for the App Engine production application server and utilities. It i
276308
- [End-to-End tests](https://github.com/GoogleCloudPlatform/appengine-java-standard/tree/master/runtime/test)
277309
- [Source Code for runtime utilities](https://github.com/GoogleCloudPlatform/appengine-java-standard/tree/master/runtime/util)
278310
279-
## Default entrypoint used by Java11, Java17 and Java21
311+
## Default entrypoint used by Java17, Java21 and Java25
280312
281-
The Java 11, Java 17 and 21 runtimes can benefit from extra user configuration when starting the JVM for web apps.
313+
The Java 17, Java 21 and 25 runtimes can benefit from extra user configuration when starting the JVM for web apps.
282314
283315
The default entrypoint used to boot the JVM is generated by App Engine Buildpacks.
284316
Essentially, it is equivalent to define this entrypoint in the `appengine-web.xml` file. For example:
@@ -292,7 +324,7 @@ By default, we use `--add-opens java.base/java.lang=ALL-UNNAMED --add-opens jav
292324
293325
## Entry Point Features
294326
295-
The entry point for the Java 11, Java 17, 21 runtimes can be customized with user-defined environment variables added in the `appengine-web.xml` configuration file.
327+
The entry point for the Java 17, Java 21, 25 runtimes can be customized with user-defined environment variables added in the `appengine-web.xml` configuration file.
296328
297329
The following table indicates the environment variables that can be used to enable/disable/configure features, and the default values if they are not set:
298330

0 commit comments

Comments
 (0)