4

我正在尝试在 spring boot 2.1.6 版本中创建嵌入式配置服务器。启动失败说:


***************************
APPLICATION FAILED TO START
***************************

Description:

Invalid config server configuration.

Action:

If you are using the git profile, you need to set a Git URI in your configuration.  If you are using a native profile and have spring.cloud.config.server.bootstrap=true, you need to use a composite configuration.

我不确定 spring 是否清楚地记录了本机配置文件是什么,而我的 bootstrap.yml 看起来像:

---
spring:
  application:
    name : <name>
  datasource:
    url: <url>
    driver-class-name: oracle.jdbc.OracleDriver
    username: <username>
    password: <password>
    hikari:
      maximum-pool-size: 1
      connection-timeout: 5000
  cloud:
    config:
      server:
        bootstrap: true
        default-label: latest
        jdbc:
          sql: <sql>
          order: 0
  jpa:
    database: Oracle
    show-sql: true
    properties:
      hibernate:
        dialect: org.hibernate.dialect.Oracle10gDialect
  profiles:
    active:
    - jdbc
    - sit

如果我在活动配置文件列表中添加“本机”,错误就会消失。
但是我找不到 Spring 文档,它说除 git 之外的任何配置服务器默认都是“本机”的。
这是春季 2.xx 版本中的新增功能,因为我只是从 1.5.10 版本升级并且系统崩溃了。

所以我的问题是:
这个本机配置文件是从 spring 2.xx 版本强制执行的,因此使它向后不兼容,或者有一个解决方法,我可以跳过在我的活动配置文件列表中添加这个本机配置文件。
参考:
https ://cloud.spring.io/spring-cloud-config/2.1.x/multi/multi_spring-cloud-config.html

4

2 回答 2

0

不确定我是否记得正确,但我认为这个问题是针对使用数据库支持的配置服务器配置时的。
解决方案:
在 src/main/resources 中,创建一个文件夹 meta-inf 并添加一个文件 spring.factories。在此文件中添加以下代码:

org.springframework.cloud.bootstrap.BootstrapConfiguration=\
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,\
org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration

请让我知道这是否有效

于 2019-11-20T16:02:41.343 回答
0

使用 JDBC 支持的配置服务器后,我遇到了同样的问题。

我的问题是 pom,我使用了错误的 jdbc 依赖项。

代替 :

<dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
</dependency>

使用弹簧启动器 jdbc:

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
于 2021-06-30T09:28:49.150 回答