【问题标题】:Spring Boot on Appengine standard doesn't startAppengine 标准上的 Spring Boot 无法启动
【发布时间】:2020-04-28 20:49:30
【问题描述】:

我创建了一个简单的(几乎是空的)spring boot 项目,我打包成一个 jar 并将它部署在 appengine 上。 但它没有开始! 当我运行 https://.appspot.com 时出现 500 错误页面

我看到数据库和表也已创建,但应用程序有问题

这些是日志的最后几行

在 9.729 秒内启动 VibesCoreApplication(JVM 运行 11.147)
关闭 ExecutorService 'taskScheduler'
为持久性单元“默认”关闭 JPA EntityManagerFactory
HikariPool-1 - 已启动关机...
HikariPool-1 - 关闭完成。

这是pom 文件的一部分

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <!--    for GAE     -->
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!--    for GAE  -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <type>jar</type>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.google.apis</groupId>
            <artifactId>google-api-services-sqladmin</artifactId>
            <version>v1beta4-rev76-1.25.0</version>
        </dependency>
        <dependency>
            <groupId>com.google.cloud.sql</groupId>
            <artifactId>mysql-socket-factory</artifactId>
            <version>1.0.2</version>
        </dependency>
        <dependency>
            <groupId>com.google.api-client</groupId>
            <artifactId>google-api-client</artifactId>
            <version>1.23.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-gcp-starter</artifactId>
            <version>LATEST</version>
        </dependency>
        <!-- JPA  -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
            <version>2.1.4.RELEASE</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-jdbc -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
            <version>2.2.2.RELEASE</version>
        </dependency>
        <!-- MySQL -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.17</version>
            <scope>runtime</scope>
        </dependency>
    </dependencies>

这是app.yaml 文件

runtime: java11
instance_class: F2

env: standard

network:
  session_affinity: true

entrypoint: java -Xmx64m -jar target/vibes-core-0.4.0.jar

handlers:
  - url: /(.*\.(gif|png|jpg|js|css|env))$
    static_files: static/\1
    upload: static/.*\.(gif|png|jpg)$

这里有完整的logs

【问题讨论】:

  • 这似乎是一个 Spring 配置问题。你在你的应用中使用@EnableAutoConfiguration 注解吗?
  • @AndreiTigau 是的,我愿意。我也用@SpringBootApplication注解

标签: spring-boot google-app-engine


【解决方案1】:

我找到了与您的here 类似的问题。事实是(即使这不应该发生)配置加载顺序可能会被破坏。

在我发给您的帖子中,解决方案是删除 @EnableAutoConfiguration 注释。

【讨论】:

  • 我删除了@EnableAutoConfiguration,只留下了@SpringBootApplication,没有任何改变...
  • 如果是这种情况,您能否分享一些代码和application.properties?我仍然认为这与配置有关,因为我真的认为您不能错过这么多课程。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-21
  • 2018-11-09
  • 2019-06-14
  • 2013-09-25
  • 1970-01-01
相关资源
最近更新 更多