配置spring cloud config资源文件命名和@EnableConfigServer注解问题

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

今天做了一个根据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注解上没报错了
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值