升级后的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.properties和bootstrap.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
更多信息
我成功了:
我使用的版本:
在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