首页 > 解决方案 > 使用 Gradle 与云的 SpringBoot 配置文件

问题描述

我在本地机器上使用云配置启动微服务时遇到了一些问题:在 application.yml 中:

spring:
  application:
    name: my_servie
  config:
    import: 'configserver:'
  profiles:
    group:
      env-prod-pg: postgres,log

我创建 application-local.yml,其中添加:

spring:
  application:
    name: mc-service-logistics-v2
  config:
    import: 'optional:configserver:'

和其他一些配置更新,在 build.gradle 我添加:

tasks.register("bootRunLocal") {
    group = "application"
    description = "Runs the Spring Boot application with the local profile"
    doFirst {
        tasks.bootRun.configure {
            systemProperty("spring.profiles.active", "local")
        }
    }
    finalizedBy("bootRun")
}

但是当我尝试使用 gradle bootRunLocal 启动应用程序时,我发现了错误: 原因:org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://localhost:8888/my-service/local" : 连接被拒绝; 嵌套异常是 java.net.ConnectException: Connection denied

如果我理解 - 应用程序仍然想使用云配置并且无法启动。如果我在 application.yml 中评论 spring.config.import - 应用程序启动没有任何问题。

如何解决这个问题呢?我不想再次推送我的本地配置)

标签: javagradlespring-cloud

解决方案


好吧,我创建到 application-.yml 和 application.yml ,其中存储当前配置文件:

spring:
  profiles:
    active: prod

推荐阅读