Java Google应用程序引擎标准环境-找不到控制器方法-Spring启动应用程序

Java Google应用程序引擎标准环境-找不到控制器方法-Spring启动应用程序,java,google-app-engine,spring-boot,Java,Google App Engine,Spring Boot,我试图在谷歌应用程序引擎标准环境中部署SpringBoot应用程序。首先,我克隆了这个不错的教程中的示例应用程序 例如,我调用并显示了包含数据的模板 所以一切运行都没有问题,我能够在本地调用所有控制器方法。然后我决定将其部署到GAE上作为实验。我根据这里的说明调整了pom.xml 这意味着我排除了Tomcat依赖项,将包装从jar更改为war,创建了appengine-web.xml文件等。作为下一步,我在GAE控制台中创建了GAE项目,并将应用程序ID复制到appengine-web.xml中

我试图在谷歌应用程序引擎标准环境中部署SpringBoot应用程序。首先,我克隆了这个不错的教程中的示例应用程序

例如,我调用并显示了包含数据的模板

所以一切运行都没有问题,我能够在本地调用所有控制器方法。然后我决定将其部署到GAE上作为实验。我根据这里的说明调整了pom.xml

这意味着我排除了Tomcat依赖项,将包装从jar更改为war,创建了appengine-web.xml文件等。作为下一步,我在GAE控制台中创建了GAE项目,并将应用程序ID复制到appengine-web.xml中。然后我运行了mvn clean包,并在目标文件夹中创建了war。最后,我开始了GAE部署,它也顺利进行,没有错误

我的应用现在部署在此URL上

若您尝试它,您将在浏览器中看到Hello World。但如果我尝试像这样调用/products-controller方法,我会得到not-found错误

你能给我建议我应该调用我的控制器方法的URL吗?我忘记实现web.xml servlet映射之类的东西了吗?或者是某个特定的Spring Boot-Google应用程序引擎问题

如有任何提示,我将不胜感激

提前感谢大家

以下内容翻译为:

在pom.xml中,将jar更改为war

在包guru.springframework中添加以下类:

代码:

拆下Tomcat启动器: 在POM中查找此依赖项:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
避免内存不足错误: 在src/main/resources中添加一个logging.properties文件,其中包含:

.level = INFO
在src/main/webapp/WEB-INF/appengine-WEB.xml内部粘贴以下内容:

<system-properties>
    <property name="java.util.logging.config.file" value="WEB-INF/classes/logging.properties" />
</system-properties>
编辑:

对于第3步和第7步,如果使用Eclipse,您还可以转到project explorer,导航到Libraries->Maven dependencies,并分别选择每个库jul-to-slf4j-1.7.25和spring-boot-starter-tomcat-1.5.3.RELEASE(在我的例子中)。右键单击每个库并转到Maven->排除Maven工件。。。然后单击Ok。这将对POM产生与编辑相同的影响。

以下内容转换为以下内容:

在pom.xml中,将jar更改为war

在包guru.springframework中添加以下类:

代码:

拆下Tomcat启动器: 在POM中查找此依赖项:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
避免内存不足错误: 在src/main/resources中添加一个logging.properties文件,其中包含:

.level = INFO
在src/main/webapp/WEB-INF/appengine-WEB.xml内部粘贴以下内容:

<system-properties>
    <property name="java.util.logging.config.file" value="WEB-INF/classes/logging.properties" />
</system-properties>
编辑:


对于第3步和第7步,如果使用Eclipse,您还可以转到project explorer,导航到Libraries->Maven dependencies,并分别选择每个库jul-to-slf4j-1.7.25和spring-boot-starter-tomcat-1.5.3.RELEASE(在我的例子中)。右键单击每个库并转到Maven->排除Maven工件。。。然后单击Ok。这将对POM产生与编辑相同的影响。

转到stackdriver并查看日志,以便我们了解您收到的错误:方法:获取请求ID:5A551D2D00FF08353D5200FFD1DD0001687E6F652D6761652D74657374000132303138303139743133353531000100资源:/products开始时间:2018-01-09T19:51:09.537917Z状态:404 traceId:680d8d917491ccbe61c6e72c87dc2c0c用户代理:Mozilla/5.0 Windows NT 10.0;Win64;x64 AppleWebKit/537.36 KHTML,如Gecko Chrome/63.0.3239.132 Safari/537.36版本ID:20180109T135551对于粘贴日志的格式很抱歉。简单地说,在/products/resource中找不到404。我下载了该应用程序,并能够部署它。我可以看到产品页面。让我们来看看我们的项目之间的差异是什么!我们如何比较我们的源代码呢?转到stackdriver并查看日志,这样我们就可以知道您收到了哪些错误:方法:GET requestId:5A551D2D00FF08353D5200FFD1DD0001687E6F652D6761652D7465737400013230313833031303974313335353531000100资源:/products开始时间:2018-01-09T19:51:09.537917Z状态:404traceId:680d8d917491ccbe61c6e72c87dc2c0c用户代理:Mozilla/5.0 Windows NT 10.0;Win64;x64 AppleWebKit/537.36 KHTML,如Gecko Chrome/63.0.3239.132 Safari/537.36版本ID:20180109T135551对于粘贴日志的格式很抱歉。简单地说,在/products/resource中找不到404。我下载了该应用程序,并能够部署它。我可以看到产品页面。让我们来看看我们的项目之间的差异是什么!我们如何比较我们的源代码?
<system-properties>
    <property name="java.util.logging.config.file" value="WEB-INF/classes/logging.properties" />
</system-properties>