本指南說明如何編寫 Java 網路服務,以便在 App Engine 標準環境中執行。如要進一步瞭解 Java 執行階段及其運作方式,請參閱「Java 執行階段環境」。
事前準備
如果尚未完成以下步驟,請先進行這些準備工作:
- 針對您要使用的 App Engine 執行階段版本,安裝最新版本的 Java Development Kit (JDK)。
- 下載並安裝 Apache Maven,以建構、執行及部署範例應用程式。
重點
- App Engine 會上傳可執行的 JAR 應用程式,藉此啟動應用程式。
- 應用程式必須有主要類別,啟動網路伺服器,以便在 PORT 環境變數指定的通訊埠 (通常為 8080) 上回應 HTTP 要求。
- 您必須使用
app.yaml
檔案,才能將服務部署至 App Engine。 - 在
pom.xml
檔案中列出依附元件即可予以使用。詳情請參閱「使用 Java 程式庫」。
建立主類別
HTTP 伺服器是網路服務的核心。本指南中的程式碼範例使用 Spring Boot 架構處理 HTTP 要求,但您可以自由使用您選擇的網路架構。
為 Java 產生 Spring Boot 專案,該專案會使用 Maven 建構系統,並包含 Spring Web 依附元件。如要開始使用,請點選下列連結:
在 Spring Initializer 中,按一下「Generate」按鈕,即可產生及下載專案。
在下載的專案中,編輯
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 外掛程式啟動本機網路伺服器:
mvn spring-boot:run
在網路瀏覽器中輸入以下網址:
http://localhost:8080
此時頁面會顯示來自範例應用程式的「Hello World」訊息。請在終端機視窗中,按下 Ctrl+C 鍵來關閉網路伺服器。
建立 app.yaml
檔案
如要在 App Engine 執行階段環境中指定應用程式設定,請按照下列步驟操作:
在以下目錄中建立名為
app.yaml
的檔案:
springboot/src/main/appengine/
將下列內容新增至檔案:
Java 21
runtime: java21
app.yaml
檔案也可以指定網路設定或資源調度設定等等。詳情請參閱app.yaml
參考資料。
如果您使用了上方的 Spring Initializr 連結,現在應該會有以下檔案結構:
springboot/
pom.xml
src/main/
appengine/
app.yaml
java/com/example/appengine/springboot/
DemoApplication.java
您也可以在專案的 pom.xml 中新增 Maven 外掛程式,以便部署應用程式:
com.google.cloud.tools
appengine-maven-plugin
2.8.1
YOUR_PROJECT_NAME
YOUR_VERSION
false
後續步驟
您現已建立監聽正確通訊埠的簡易 Java 網路伺服器,並在 app.yaml
檔案中指定執行階段,因此可以開始在 App Engine 中部署服務。