弹簧引导 2.5.5 属性"spring.config.import"未定义?



升级后的spring-boot:2.3.11。发布到spring-boot:2.5.5和spring-cloud:Hoxton。SR11到spring-cloud:2020.0.4, spring-boot:run是失败的:

***************************
APPLICATION FAILED TO START
***************************
Description:
No spring.config.import property has been defined
Action:
Add a spring.config.import=configserver: property to your configuration.
If configuration is not required add spring.config.import=optional:configserver: instead.
To disable this check, set spring.cloud.config.enabled=false or 
spring.cloud.config.import-check.enabled=false.

建议很清楚,所以我添加了

spring.cloud.config.enabled=false
spring.cloud.config.import-check.enabled=false
spring.config.import=optional:configserver:

application.propertiesbootstrap.properties文件

在<<p> strong> application.properties 我必须注释掉spring.config.import=optional:configserver:行,否则java.lang.IllegalStateException: Unable to load config data from 'optional:configserver:' ......... Caused by: java.lang.IllegalStateException: File extension is not known to any PropertySourceLoader

就失败了因为我不需要在bootstrap.properties中注释它,值可能会被完全忽略

但是,应用程序本身失败的方式与没有添加任何新属性相同。

你知道是什么问题吗?spring.config.import=…的正确格式是什么

?编辑:添加依赖项后

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>

它不会忽略bootstrap中的属性。所以我不得不注释掉"spring.config.import=optional:configserver:"那里也是。但是应用程序仍然失败,提示"没有定义spring.config.import属性">

在Spring Cloud 2020中,您不再需要bootstrap.properties文件,导入Spring - Cloud -starter-bootstrap只启用使用它的遗留方式。把它去掉…

你需要添加

spring.config.import=optional:configserver:http://your.config.server.com

进入你的application.properties。但是我不确定你想达到什么目的,因为你的

spring.cloud.config.enabled=false

更多信息

我成功了:

我使用的版本:2022.0.1

application.yaml在文件中,我添加了以下内容:

server:
port: 8761
eureka:
client:
register-with-eureka: false
fetch-registry: false
spring:
cloud:
config:
enabled: false
application:
name: eureka-server

在POM中:

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-parent</artifactId>
<version>Greenwich.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

我在这里找到了解决方案:https://www.baeldung.com/spring-cloud-netflix-eureka

添加此依赖

implementation 'org.springframework.cloud:spring-cloud-starter-bootstrap'

配置
config:
retry:
initial-interval: 2000
max-attempts: 10
uri: http://localhost:8888
fail-fast: false

并更改应用程序。Yml到bootstrap.yml

最新更新