本指南介绍如何编写要在 App Engine 标准环境中运行的 Java Web 服务。如需详细了解 Java 运行时及其工作原理,请参阅 Java 运行时环境。
准备工作
如果您尚未准备:
- 为计划使用的 App Engine 运行时版本安装最新版本的 Java 开发工具包 (JDK)。
- 下载和安装 Apache Maven 以构建、运行和部署示例应用。
要点
- App Engine 通过上传可执行的 JAR 应用来启动您的应用。
- 您的应用必须具有一个主类,该类会启动一个 Web 服务器以响应由 PORT 环境变量指定的端口(通常为 8080)上的 HTTP 请求。
- 您需要使用
app.yaml
文件以将服务部署到 App Engine。 - 您可以在
pom.xml
文件中列出要使用的依赖项。如需了解详情,请参阅使用 Java 库。
创建主类
Web 服务的核心是 HTTP 服务器。本指南中的示例代码使用 Spring Boot 框架来处理 HTTP 请求,您也可以自由使用自己偏好的 Web 框架。
生成使用 Maven 构建系统且包含 Spring Web 依赖项的 Java 版 Spring Boot 项目。如需开始使用,请点击以下链接:
在 Spring Initializer 中,点击生成按钮以生成并下载您的项目。
在下载的项目中,修改文件
springboot/src/main/java/com/example/appengine/springboot/DemoApplication.java
以添加一些 Java 导入和 REST hello 处理程序:package com.example.appengine.springboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @SpringBootApplication @RestController public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } @GetMapping("/") public String hello() { return "Hello world!"; } }
修改后的类是一个控制器,用于启动 Spring Boot 的嵌入式 Tomcat 服务器,并以文本“Hello world!”响应根路径 (
'/'
) 的GET
请求。
在本地运行服务器
要在本地运行服务器,请执行以下操作:
使用 Spring Boot Maven 插件启动本地 Web 服务器。
mvn spring-boot:run
在网络浏览器中,输入以下地址:
http://localhost:8080
页面中随即显示示例应用发出的 Hello World 消息。在终端窗口中,按 Ctrl+C 退出 Web 服务器。
创建 app.yaml
文件
如需在 App Engine 运行时环境中为应用指定设置,请执行以下操作:
在以下目录中创建一个名为
app.yaml
的文件:springboot/src/main/appengine/
将以下内容添加到文件中:
Java 21
runtime: java21
app.yaml
文件还可以指定网络设置、扩缩设置等。如需了解详情,请参阅app.yaml
参考文档。
如果您使用了上面的 Spring Initializer 链接,则现在应该具有如下所示的文件结构:
springboot/
pom.xml
src/main/
appengine/
app.yaml
java/com/example/appengine/springboot/
DemoApplication.java
您还可以在项目 pom.xml 中添加允许部署应用的 Maven 插件:
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>2.8.1</version>
<configuration>
<projectId>YOUR_PROJECT_NAME</projectId>
<version>YOUR_VERSION</version>
<promote>false</promote>
</configuration>
</plugin>
后续步骤
现在您已创建了一个简单的 Java Web 服务器来监听正确的端口,并且已在 app.yaml
文件中指定了运行时,接下来便可以在 App Engine 上部署您的服务。