本指南說明如何編寫 Java 網路服務,在 App Engine 標準環境中執行。如要進一步瞭解 Java 執行階段及其運作方式,請參閱「Java Runtime Environment」。
事前準備
如果尚未完成下列步驟,請先執行:
- 安裝最新版本的 Java Development Kit (JDK),適用於您打算使用的 App Engine 執行階段版本。
- 下載並安裝 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: java21app.yaml檔案也可以指定聯播網設定、資源調度設定等等。詳情請參閱app.yaml參考資料。
如果您使用上述 Spring Initializr 連結,現在應該會有如下所示的檔案結構:
springboot/pom.xmlsrc/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 網路伺服器,並在 app.yaml 檔案中指定執行階段,因此可以開始在 App Engine 中部署服務。