首页 > SpringBoot > 正文

springBoot部署GAE

标签:SpringBoot

前提

https://start.spring.io/新建spring boot项目appenginTest

  • Java Version = 8
  • Packaging = war
  • dependencies = Web

将生产的zip项目解压,并在启动spring boot的类中加入方法

@GetMapping("/test")
    public String hello() {
            return "Hello Spring Boot!";
    }
}

本地local运行

cd进appenginTest项目,并执行

mvn spring-boot:run

通过localhost:8080/test则能访问显示:Hello Spring Boot!

让项目兼容App Engine

因为在GAE使用Jetty,故将依赖修改如下

<!-- 移除 spring-boot-starter-tomcat dependency 
  <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-tomcat</artifactId>
       <scope>provided</scope>
  </dependency>
  -->
   <!-- 添加 -->
   <dependency>
       <groupId>javax.servlet</groupId>
       <artifactId>javax.servlet-api</artifactId>
       <version>3.1.0</version>
       <scope>provided</scope>
   </dependency>

添加Maven App Engine插件

<plugin>
    <groupId>com.google.cloud.tools</groupId>
    <artifactId>appengine-maven-plugin</artifactId>
    <version>1.3.1</version>
 </plugin>

创建WEB-INF,并在它下面加入appengine-web.xml

mkdir -p src/main/webapp/WEB-INF/
touch src/main/webapp/WEB-INF/appengine-web.xml 

appengine-web.xml内容

<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
  <version>1</version>
  <threadsafe>true</threadsafe>
  <runtime>java8</runtime>
</appengine-web-app>  

执行命令,即可访问localhost:8080/test

mvn appengine:run

将项目部署到GCloud

将项目添加压缩包,通过GCP上的google cloud shell窗口上传项目。
解压项目,cd进入项目,执行项目绑定ID

$ gcloud config set project myID
//执行成功显示Updated property [core/project].
$ gcloud app create  

部署项目至GAE

$ mvn appengine:deploy

通过myID.appspot.com/test即可访问显示Hello Spring Boot!

参考文档


上篇: maven项目整合redis