이 가이드에서는 App Engine 표준 환경에서 실행할 자바 웹 서비스를 작성하는 방법을 보여줍니다. 자바 런타임 및 작동 방식에 대한 자세한 내용은 자바 런타임 환경을 참조하세요.
시작하기 전에
아직 설치하지 않은 경우:
- 사용하려는 App Engine 런타임 버전에 대해 최신 버전의 자바 개발 키트(JDK)를 설치합니다.
- Apache Maven을 다운로드하고 설치하여 샘플 앱을 빌드, 실행, 배포합니다.
핵심 사항
- App Engine은 실행 가능 JAR 애플리케이션을 업로드하여 애플리케이션을 시작합니다.
- 애플리케이션에는 PORT 환경 변수(일반적으로 8080)로 지정된 포트에서 HTTP 요청에 응답하는 웹 서버를 시작하는 기본 클래스가 있어야 합니다.
- App Engine에 서비스를 배포하려면
app.yaml
파일이 있어야 합니다. pom.xml
파일에 종속 항목을 나열하여 사용할 수 있습니다. 자세한 내용은 자바 라이브러리 사용을 참조하세요.
기본 클래스 만들기
웹 서비스의 핵심은 HTTP 서버입니다. 이 가이드의 샘플 코드는 Spring Boot 프레임워크를 사용하여 HTTP 요청을 처리하지만 원하는 웹 프레임워크를 사용할 수 있습니다.
Maven 빌드 시스템을 사용하고 Spring Web 종속 항목을 포함하는 자바용 Spring Boot 프로젝트를 생성합니다. 시작하려면 다음 링크를 클릭하세요.
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 서버를 시작하고 루트 경로(
'/'
)에서GET
요청에 'Hello world!' 텍스트로 응답하는 컨트롤러입니다.
로컬에서 서버 실행
로컬에서 서버를 실행하려면 다음 안내를 따르세요.
Spring Boot Maven 플러그인을 사용하여 로컬 웹 서버를 시작합니다.
mvn spring-boot:run
웹브라우저에 다음 주소를 입력합니다.
http://localhost:8080
샘플 앱의 Hello World 메시지가 페이지에 표시됩니다. 터미널 창에서 Ctrl+C 키를 눌러 웹 서버를 종료합니다.
app.yaml
파일 만들기
App Engine 런타임 환경에서 앱의 설정을 지정하려면 다음 안내를 따르세요.
다음 디렉터리에
app.yaml
이라는 파일을 만듭니다.
springboot/src/main/appengine/
파일에 다음 내용을 추가합니다.
자바 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 플러그인을 추가할 수도 있습니다.
<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>
다음 단계
올바른 포트를 수신하는 간단한 자바 웹 서버를 만들고 app.yaml
파일에서 런타임을 지정했습니다. 이제 App Engine에 서비스를 배포할 수 있습니다.