如何使用Eclipse IDE在Google App Engine(GAE)上部署Spring Boot应用程序?

时间:2016-11-15 12:44:12

标签: spring maven spring-mvc google-app-engine spring-boot

我已经创建了一个spring boot应用程序,我想在Google App Engine(GAE)上部署它。参考以下是我所做的事情。

  1. 创建了春季启动应用
  2. 在webapp / WEB-INF
  3. 下添加了appengine-web.xml和web.xml
  4. 在Google应用引擎设置下配置项目ID和版本详细信息
  5. 使用Maven安装
  6. 安装maven depencencies

    现在,当我尝试使用spring boot或google web应用程序运行我的应用程序时,它会给出tomcat连接错误。

    以下是相关文件, 应用服务引擎-web.xml中

    t = int(input())
    
    for i in xrange(t):
        n = int(input())
        n = int((((((n*567)/9)+7492)*235)/47)-498)
        print(str(n)[-2])
    

    的web.xml

    <?xml version="1.0" encoding="utf-8"?>
    <appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
        <application>appname</application>
        <version>1</version>
        <threadsafe>true</threadsafe>
    </appengine-web-app>
    

    的pom.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    
        <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>org.example.Application</param-value>
        </context-param>
    
        <listener>
            <listener-class>org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener</listener-class>
        </listener>
    
        <filter>
            <filter-name>metricFilter</filter-name>
            <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
        </filter>
    
        <filter-mapping>
            <filter-name>metricFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    
        <servlet>
            <servlet-name>appServlet</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <init-param>
                <param-name>contextAttribute</param-name>
                <param-value>org.springframework.web.context.WebApplicationContext.ROOT</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
        </servlet>
    
        <servlet-mapping>
            <servlet-name>appServlet</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
    
    </web-app>
    

2 个答案:

答案 0 :(得分:0)

在Spring Boot之前,我曾经使用Google插件将应用程序部署到GAE。但对于Spring Boot应用程序,它完全不同。只需在webapp / WEB-INF文件夹下添加appengine-web.xml和web.xml文件,然后使用&#34; mvn appengine:update&#34;部署应用程序。

答案 1 :(得分:0)

您错过了convert a Spring Boot application for App Engine Standard所需的一些步骤。在您的特定情况下,您需要:

或者您可以简单地根据this sample Spring Boot application中的配置。

我会详细介绍,但之后我只是重写源材料,我鼓励你阅读。