微服务项目Spring Cloud Config启动报错:未配置spring.config.import
Spring Cloud Config集成启动失败解决方案
错误信息
"C:\Program Files\Java\jdk-11.0.12\bin\java.exe" -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2019.1.2\lib\idea_rt.jar=60965:C:\Program Files\JetBrains\IntelliJ IDEA 2019.1.2\bin" -Dfile.encoding=UTF-8 -classpath [依赖路径省略] com.demo.microservice.orderservice.OrderServiceApplication 10:47:08.057 [main] DEBUG org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter - 应用程序因异常启动失败 org.springframework.cloud.commons.ConfigDataMissingEnvironmentPostProcessor$ImportException: 未设置spring.config.import [堆栈跟踪省略]
应用程序启动失败
描述:未定义spring.config.import属性
操作建议:在配置中添加spring.config.import=configserver:属性。如果不需要配置,请改为添加spring.config.import=optional:configserver:。要禁用此检查,请设置spring.cloud.config.enabled=false或spring.cloud.config.import-check.enabled=false。
进程退出码:1
当前application.yml配置
server: port: 9192 spring: datasource: url: jdbc:h2:mem:mydb username: sa password: password driverClassName: org.h2.Driver jpa: spring.jpa.database-platform: org.hibernate.dialect.H2Dialect h2: console: enabled: true application: name: ORDER-SERVICE cloud: config: uri: - http://localhost:9196
Maven依赖配置(pom.xml)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.13-SNAPSHOT</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.miscroservice.demo</groupId> <artifactId>eureka-client</artifactId> <version>0.0.1-SNAPSHOT</version> <name>eureka-client</name> <description>Demo project for Spring Boot</description> <properties> <java.version>11</java.version> <spring-cloud.version>2021.0.7</spring-cloud.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> </plugins> </build> <repositories> <repository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/milestone</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> <repository> <id>spring-snapshots</id> <name>Spring Snapshots</name> <url>https://repo.spring.io/snapshot</url> <releases> <enabled>false</enabled> </releases> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/milestone</url> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> <pluginRepository> <id>spring-snapshots</id> <name>Spring Snapshots</name> <url>https://repo.spring.io/snapshot</url> <releases> <enabled>false</enabled> </releases> </pluginRepository> </pluginRepositories> </project>
解决步骤
方案1:启用Spring Cloud Config(推荐)
在application.yml的spring节点下添加spring.config.import=configserver:,已配置的spring.cloud.config.uri会被自动读取,无需在import中重复指定地址。同时修正jpa节点下的冗余配置:
server: port: 9192 spring: config: import: configserver: datasource: url: jdbc:h2:mem:mydb username: sa password: password driverClassName: org.h2.Driver jpa: database-platform: org.hibernate.dialect.H2Dialect h2: console: enabled: true application: name: ORDER-SERVICE cloud: config: uri: - http://localhost:9196
方案2:可选依赖Config Server
如果Config Server并非启动必需项,可将配置改为:
spring: config: import: optional:configserver:
此配置下,若Config Server不可用,应用仍能正常启动。
方案3:禁用Spring Cloud Config
若无需使用Config Server,可直接移除spring-cloud-starter-config依赖,或添加以下配置禁用检查:
spring: cloud: config: enabled: false # 或仅禁用检查 import-check: enabled: false
内容的提问来源于stack exchange,提问作者Imal Chandika
相关产品推荐
相关产品推荐

