即使使用 spring-boot-starter-web 依赖项,Spring Boot 应用程序也会在启动时崩溃

时间:2021-04-12 14:34:17

标签: java spring-boot

我正在尝试将我的 Spring Boot 应用程序部署到 GCP 上的 kubernetes。我创建了一个 docker 镜像并尝试发布相同的 helm chart 版本。当我使用 docker-compose 运行时,docker 映像运行得非常好,但是在 gke 上的集群中部署时它崩溃了。

这是我的build.gradle

plugins {
    id 'org.springframework.boot' version '2.4.4'
    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
    id 'java'
}

group = 'com.test'
version = '0.0.1'
sourceCompatibility = '1.8'

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}

ext {
    set('springCloudVersion', "2020.0.1")
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter'
    implementation 'org.springframework.boot:spring-boot-starter-actuator'
    implementation ('org.springframework.boot:spring-boot-starter-web')
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.kafka:spring-kafka'
    implementation 'org.hibernate.validator:hibernate-validator'
    implementation group: 'org.springframework.cloud', name: 'spring-cloud-gcp-starter-storage', version: '1.2.7.RELEASE'
    implementation group: 'commons-io', name: 'commons-io', version: '2.8.0'
    implementation 'org.mapstruct:mapstruct:1.4.2.Final'
    annotationProcessor 'org.mapstruct:mapstruct-processor:1.4.2.Final'
    implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.12.0'
    compileOnly 'org.projectlombok:lombok'
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    annotationProcessor 'org.projectlombok:lombok'
}

dependencyManagement {
    imports {
        mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
    }
}

Here 是我得到的日志。

即使在 TRACE 模式下,日志也不提供任何信息。另一件事是,大多数搜索结果都包含 starter-web,但我已经包含了。

1 个答案:

答案 0 :(得分:1)

虽然应用本身在日志中没有包含任何错误或任何其他可疑项目。你还说你的 docker 容器在本地工作,这意味着容器没有问题。您是否使用类似于 kubectl get events --sort-by=.metadata.creationTimestamp 的东西检查了 kubernetes 事件??这可能会提供有关该问题的更多信息。