今天做了一个根据dev\test\pro读取对应的资源文件,不注意把资源文件名的前面部分命名为配置中心的spring.application.name去了,怎么也调试不出来,后来发现是需要命名成客户中心的spring.cloud.config.name对应名字,另外通用的是application-{profile}.properties是对整个微服务通用的,也就是说我们可以把公用的配置部分放入到这里面来。
网络上找了些教程,学习config的配置,我使用的是spring boot2.1.4+spring cloud Greenwich.SR1(目前boot默认是2.4.2,工具及修改方法可参照以前我的文章),发现在建立config server的时候,在启动JAVA主程序中加入@EnableConfigServer注解时立马报错,pom.xml也加入了:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
我在本地maven仓库中查询jar发现自动下载版本为2.1.1.RELEASE查询网络,有说使用MAVEN自动下载可能受本机防火墙影响有可能损坏,有的说必须保持版本和spring boot一致,经过两天测试,可能是到阿里云下载的到我本地的过程中jar包破损不完整,今天从新删除自行下载的2.1.1.RELEASE版本调试正常了,也不是非必须与springboot版本一致,以下是图片: 





下面的配置是昨天操作的,使用2.1.4RELEASE虽然界面不报红,但是调试还是有问题的
到阿里云仓库搜索下载2.1.4RELEASE版本到本机C:\Server\soft目录下,然后使用系统CMD命令,运行安装JAR文件:
mvn install:install-file -Dfile=C:\Server\Soft\spring-cloud-config-server-2.1.4.RELEASE.jar -DgroupId=org.springframework.cloud -DartifactId=spring-cloud-config-server -Dversion=2.1.4.RELEASE -Dpackaging=jar
以上的参数groupId、artifactId和version在下载前页面可以查询到

提示:[INFO] BUILD SUCCESS 成功
然后务必进入maven本地仓库,删除多余的config版本,位置在:
C:\仓库路径\org\springframework\cloud\spring-cloud-config-server
然后重启idea打开工程继续操作后,问题得到解决,贴代码:
pom.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<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 https://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.1.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.yncx.libin</groupId>
<artifactId>configserver</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>configserver</name>
<description>Demo project for Spring Boot</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Greenwich.SR1</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
<version>2.1.4.RELEASE</version>
</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>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</repository>
</repositories>
</project>
application.properties
spring.application.name=springcloud-config-server
server.port=9005
eureka.client.serviceUrl.defaultZone=http://localhost:8005/eureka/
spring.profiles.active=native
ConfigserverApplication.java
package com.yncx.libin.configserver;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
@EnableEurekaClient//声明此处是Eureka客户端
@EnableConfigServer
@SpringBootApplication
public class ConfigserverApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigserverApplication.class, args);
System.out.println("配置中心服务端启动成功!");
}
}
终于@EnableConfigServer注解上没报错了

本文介绍了在配置Spring Cloud Config时遇到的问题,包括资源文件命名需与`spring.cloud.config.name`对应,以及启用`@EnableConfigServer`注解时出现的错误。解决方法涉及确保配置文件名为`application-{profile}.properties`,删除破损的jar包,从阿里云仓库下载正确版本并重新安装到本地Maven仓库,以及清理多余版本的`spring-cloud-config-server`。

4137

被折叠的 条评论
为什么被折叠?



