没有定义spring.config.import属性
在创建 Spring Boot 云配置应用程序时出现以下错误。这有什么帮助吗?
没有定义 spring.config.import 属性
行动:
将 spring.config.import=configserver: 属性添加到您的配置中。如果不需要配置,请添加 spring.config.import=optional:configserver: 代替。要禁用此检查,请设置 spring.cloud.config.enabled=false 或 spring.cloud.config.import-check.enabled=false。
回答
我遇到了同样的问题。
解决方法:在pom.xml文件中添加如下依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
这解决了我的问题。
- 对于仍然有此问题的任何人,此答案不再是最新的,SpringBoot 2.4 或更高版本建议使用 `spring.config.import` 属性并且不需要包含另一个依赖项,除非您的首选方式是使用引导程序.yml。请参阅下面的 [@Justin Cranford's](/sf/answers/4806795031/) 和 [@shubh gaikwad's](/sf/answers/4742117061/) 答案以获取更多信息。
回答
根本原因是 Spring Boot 2.4 更改了其默认功能。新的 spring.config.import 属性是必需的。
要修复,请添加新的 spring.config.import 属性。这是 application.yml 中对我有用的示例。
spring:
config:
import: "optional:configserver:"
这是文档,以防您需要设置不同的值。
- https://docs.spring.io/spring-cloud-config/docs/current/reference/html/#config-data-import
- “Spring Boot 2.4 引入了一种通过 spring.config.import 属性导入配置数据的新方法。这是现在绑定到配置服务器的默认方式。”
回答
添加 bootstrap.yml 文件:
spring:
cloud:
config:
enabled: true
uri: http://localhost:9296
其中 9296 是您的云配置服务器端口
并添加以下依赖项:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
如果以上不起作用,
只需将以下属性添加到您的 application.yml 文件中即可停止端口检查,因为您已经在 bootstrap.yml 中定义了它
spring:
cloud:
config:
import-check:
enabled: false