国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用nacos配置中心管理配置文件時(shí),springcloud程序啟動(dòng)報(bào)錯(cuò),無法找到對(duì)應(yīng)的配置文件(加載到了錯(cuò)誤的配置文件)

這篇具有很好參考價(jià)值的文章主要介紹了使用nacos配置中心管理配置文件時(shí),springcloud程序啟動(dòng)報(bào)錯(cuò),無法找到對(duì)應(yīng)的配置文件(加載到了錯(cuò)誤的配置文件)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、場景

1、將SpringBoot項(xiàng)目升級(jí)為SpringCloud

2、SpringBoot版本從2.1.3.RELEASE升級(jí)為2.7.8

3、不使用Nacos配置中心,而是加載本地配置文件時(shí),程序啟動(dòng)正常

4、使用Nacos配置中心,加載到了錯(cuò)誤的配置文件,導(dǎo)致程序啟動(dòng)失敗


二、關(guān)鍵依賴

<!--nacos-config-->
<dependency>
	<groupId>com.alibaba.cloud</groupId>
	<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
	<version>2021.0.5.0</version>
</dependency>

<!--nacos-discovery-->
<dependency>
	<groupId>com.alibaba.cloud</groupId>
	<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
	<version>2021.0.5.0</version>
</dependency>

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

三、報(bào)錯(cuò)信息

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'shardingDataSourceConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'sharding.jdbc.datasource.driver' in value "${sharding.jdbc.datasource.driver}"
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:405)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292)
	at com.xxx.OnlineApp.main(OnlineApp.java:33)
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'sharding.jdbc.datasource.driver' in value "${sharding.jdbc.datasource.driver}"
	at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:180)
	at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:126)
	at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:239)
	at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:210)
	at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.lambda$processProperties$0(PropertySourcesPlaceholderConfigurer.java:191)
	at org.springframework.beans.factory.support.AbstractBeanFactory.resolveEmbeddedValue(AbstractBeanFactory.java:936)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1332)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311)
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:657)
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640)
	at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119)
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399)
	... 17 common frames omitted

四、排查

1、bootstrap.yml配置

server:
  port: 8877 #服務(wù)端口號(hào)

spring:
  ## 服務(wù)名稱,默認(rèn)項(xiàng)目名稱
  application:
    name: focallmedia-online-admin-cloud
  profiles:
  	# 這里已將Nacos管理的配置文件加進(jìn)來了
    include: config,rocketmq,scheduler,shardingDataSource
  main:
    allow-circular-references: true
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.1.231:8848 #服務(wù)注冊(cè)中心地址
        namespace: focallmedia
        group: dev

      config:
        server-addr: 192.168.1.231:8848 #配置中心地址
        file-extension: properties #指定properties格式的配置
        namespace: focallmedia
        group: dev

2、查看Nacos配置中心

2.1、groupnamespace都沒有問題,但配置文件的DataId沒有添加文件后綴

nacos 配置文件 屬性加載失敗,SpringCloud,Java開發(fā)問題,spring cloud,spring boot,后端


2.2、調(diào)整配置文件DataId

nacos 配置文件 屬性加載失敗,SpringCloud,Java開發(fā)問題,spring cloud,spring boot,后端


3、重啟后程序依舊報(bào)錯(cuò),查看啟動(dòng)日志,發(fā)現(xiàn)Nacos加載到了錯(cuò)誤的配置文件

日志如下

2023-11-16 10:11:42.892 - [WARN ] - [main] - [c.a.cloud.nacos.client.NacosPropertySourceBuilder - line:87]: Ignore the empty nacos configuration and get it based on dataId[focallmedia-common] & group[dev]
2023-11-16 10:11:42.908 - [WARN ] - [main] - [c.a.cloud.nacos.client.NacosPropertySourceBuilder - line:87]: Ignore the empty nacos configuration and get it based on dataId[focallmedia-common.properties] & group[dev]
2023-11-16 10:11:42.908 - [WARN ] - [main] - [c.a.cloud.nacos.client.NacosPropertySourceBuilder - line:87]: Ignore the empty nacos configuration and get it based on dataId[focallmedia-common-config.properties] & group[dev]
2023-11-16 10:11:42.908 - [WARN ] - [main] - [c.a.cloud.nacos.client.NacosPropertySourceBuilder - line:87]: Ignore the empty nacos configuration and get it based on dataId[focallmedia-common-rocketmq.properties] & group[dev]
2023-11-16 10:11:42.908 - [WARN ] - [main] - [c.a.cloud.nacos.client.NacosPropertySourceBuilder - line:87]: Ignore the empty nacos configuration and get it based on dataId[focallmedia-common-scheduler.properties] & group[dev]
2023-11-16 10:11:42.924 - [WARN ] - [main] - [c.a.cloud.nacos.client.NacosPropertySourceBuilder - line:87]: Ignore the empty nacos configuration and get it based on dataId[focallmedia-common-shardingDataSource.properties] & group[dev]
2023-11-16 10:13:16.856 - [INFO ] - [main] - [o.s.c.b.c.PropertySourceBootstrapConfiguration - line:109]: Located property source: [BootstrapPropertySource {name='bootstrapProperties-focallmedia-common-shardingDataSource.properties,dev'}, BootstrapPropertySource {name='bootstrapProperties-focallmedia-common-scheduler.properties,dev'}, BootstrapPropertySource {name='bootstrapProperties-focallmedia-common-rocketmq.properties,dev'}, BootstrapPropertySource {name='bootstrapProperties-focallmedia-common-config.properties,dev'}, BootstrapPropertySource {name='bootstrapProperties-focallmedia-common.properties,dev'}, BootstrapPropertySource {name='bootstrapProperties-focallmedia-common,dev'}]

– 從日志上看是加載配置文件時(shí),文件的前綴沒有使用當(dāng)前程序配置的spring.application.name屬性

– 加載配置文件使用的前綴focallmedia-common是當(dāng)前程序pom里邊依賴的某個(gè)Jar包

為什么會(huì)使用到Jar包配置的應(yīng)用名?為什么不使用bootstrap.yml所配置的應(yīng)用名?Debug查看源碼試圖找到答案,由于水平太菜,沒有找到原因(歡迎大佬留言)


4、Debug查看源碼,企圖弄清楚使用錯(cuò)誤應(yīng)用名的原因

– 日志是PropertySourceBootstrapConfiguration打印出來的,直接找到這個(gè)class進(jìn)行查看

– 發(fā)現(xiàn)加載了錯(cuò)誤的配置文件

nacos 配置文件 屬性加載失敗,SpringCloud,Java開發(fā)問題,spring cloud,spring boot,后端

– 往前查看配置來源

nacos 配置文件 屬性加載失敗,SpringCloud,Java開發(fā)問題,spring cloud,spring boot,后端
nacos 配置文件 屬性加載失敗,SpringCloud,Java開發(fā)問題,spring cloud,spring boot,后端

依照程序的執(zhí)行,最先需要注入配置的確實(shí)是focallmedia-common這個(gè)依賴,但其他項(xiàng)目也依賴了這個(gè)Jar包,為什么啟動(dòng)是正常的?

5、找不到使用依賴程序應(yīng)用名的原因,發(fā)現(xiàn)ConfigurationProperties的屬性可以手動(dòng)進(jìn)行配置,進(jìn)行嘗試

nacos 配置文件 屬性加載失敗,SpringCloud,Java開發(fā)問題,spring cloud,spring boot,后端

bootstrap.yml指定配置文件前綴

nacos 配置文件 屬性加載失敗,SpringCloud,Java開發(fā)問題,spring cloud,spring boot,后端
nacos 配置文件 屬性加載失敗,SpringCloud,Java開發(fā)問題,spring cloud,spring boot,后端
nacos 配置文件 屬性加載失敗,SpringCloud,Java開發(fā)問題,spring cloud,spring boot,后端
nacos 配置文件 屬性加載失敗,SpringCloud,Java開發(fā)問題,spring cloud,spring boot,后端

至此,程序啟動(dòng)正常


五、原因

Nacos加載的配置文件沒有使用spring.application.name所配置的應(yīng)用名,而是加載到了依賴Jar包的應(yīng)用名(具體原因不明,歡迎大佬留言)


六、解決

bootstrap.yml指定配置文件前綴

nacos 配置文件 屬性加載失敗,SpringCloud,Java開發(fā)問題,spring cloud,spring boot,后端


七、Nacos配置文件DataId配置規(guī)則

DataId的規(guī)則: $ {prefix}-spring.profile.active.{file-extension}

$ {prefix}: 前綴,默認(rèn)為spring.application.name的值

$ {spring.profile.active} 當(dāng)前環(huán)境對(duì)應(yīng)的profile(多環(huán)境配置)

$ {file-extension} 配置內(nèi)容的數(shù)據(jù)格式(文件擴(kuò)展名)

配置時(shí)需要和bootstrap.yml中配置的file-extension屬性保持一致,否則不能正常讀取


八、備注

該問題在其他springcloud項(xiàng)目上沒有出現(xiàn),就算沒有在bootstrap.yml配置的spring.cloud.nacos.config.prefix屬性,依舊可以找到nacos配置中心正確的配置文件(該程序也依賴了focallmedia-common

具體原因不確定文章來源地址http://www.zghlxwxcb.cn/news/detail-764037.html

到了這里,關(guān)于使用nacos配置中心管理配置文件時(shí),springcloud程序啟動(dòng)報(bào)錯(cuò),無法找到對(duì)應(yīng)的配置文件(加載到了錯(cuò)誤的配置文件)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • springcloud整合nacos配置中心

    springcloud整合nacos配置中心

    前言 在當(dāng)今快速發(fā)展的云原生應(yīng)用開發(fā)環(huán)境中,配置中心的重要性不言而喻。 Nacos作為一個(gè)開源的動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、配置管理和服務(wù)管理平臺(tái),為開發(fā)者提供了一種簡單而強(qiáng)大的方式來管理應(yīng)用程序的配置信息。 而Spring Boot作為一個(gè)快速構(gòu)建應(yīng)用程序的框架,與Nacos的結(jié)合可以

    2024年02月08日
    瀏覽(31)
  • SpringCloud之Nacos配置中心解讀

    SpringCloud之Nacos配置中心解讀

    目錄 基本介紹? 概述 動(dòng)態(tài)配置服務(wù) 多配置格式編輯器? 微服務(wù)拉取配置流程 Data ID @RefreshScope 配置共享的優(yōu)先級(jí) 實(shí)戰(zhàn)使用 簡單的共享配置 開發(fā)環(huán)境的共享配置 環(huán)境隔離-命名空間Namespace 業(yè)務(wù)隔離-Group分組 概述 Nacos除了可以做注冊(cè)中心,同樣可以做配置管理來使用。 所謂

    2024年02月03日
    瀏覽(23)
  • 使用Nacos配置中心動(dòng)態(tài)管理Spring Boot應(yīng)用配置

    使用Nacos配置中心動(dòng)態(tài)管理Spring Boot應(yīng)用配置

    ???? 博主貓頭虎 帶您 Go to New World.??? ?? 博客首頁——貓頭虎的博客?? ??《面試題大全專欄》 文章圖文并茂??生動(dòng)形象??簡單易學(xué)!歡迎大家來踩踩~?? ?? 《IDEA開發(fā)秘籍專欄》學(xué)會(huì)IDEA常用操作,工作效率翻倍~?? ?? 《100天精通Golang(基礎(chǔ)入門篇)》學(xué)會(huì)Golang語言

    2024年02月12日
    瀏覽(22)
  • SpringCloud 配置中心【Nacos_Config】

    SpringCloud 配置中心【Nacos_Config】

    目錄 1.?SpringCloud Config 2. Nacos_Config 3.?使用 Nacos Config 添加/配置 外部配置文件 3.1 添加/配置命名空間 3.2 添加/配置 外部配置文件 3.3 外部文件克隆到其他空間 4. 新建子模塊【config_client】 4.1 父模塊pom文件依賴結(jié)構(gòu) ? ? ? ? ?4.2 子模塊pom文件結(jié)構(gòu) 4.3 配置子模塊 bootstrap.yml文件

    2024年02月01日
    瀏覽(24)
  • SpringCloud + Gateway(網(wǎng)關(guān)) + Nacos(注冊(cè)中心+配置中心)+ Dubbo(內(nèi)部服務(wù)調(diào)用)

    SpringCloud + Gateway(網(wǎng)關(guān)) + Nacos(注冊(cè)中心+配置中心)+ Dubbo(內(nèi)部服務(wù)調(diào)用)

    Apache Dubbo是一款微服務(wù)開發(fā)框架,它提供了 RPC通信 與 微服務(wù)治理 兩大關(guān)鍵能力 1、協(xié)議支持方面 Feign更加優(yōu)雅簡單。Feign是通過REST API實(shí)現(xiàn)的遠(yuǎn)程調(diào)用,基于Http傳輸協(xié)議,服務(wù)提供者需要對(duì)外暴露Http接口供消費(fèi)者調(diào)用,服務(wù)粒度是http接口級(jí)的。通過短連接的方式進(jìn)行通信,

    2024年02月06日
    瀏覽(1436)
  • 【微服務(wù)SpringCloud-Alibaba】:Nacos 配置中心

    【微服務(wù)SpringCloud-Alibaba】:Nacos 配置中心

    在 SpringCloud 中,我們使用了 Config 組件管理所有配置文件,使用了 Bus 消息總線更新配置,兩者需要配合使用才能動(dòng)態(tài)的管理配置文件。而 Nacos 可以替代這兩個(gè)組件,實(shí)現(xiàn)動(dòng)態(tài)的管理所有配置文件。 2.1、添加配置文件 想要管理配置,先要有配置文件。在使用 Config 組件管理配

    2023年04月27日
    瀏覽(30)
  • 九、Nacos源碼系列:Nacos配置中心原理(一)- SpringCloud應(yīng)用啟動(dòng)時(shí)拉取配置

    九、Nacos源碼系列:Nacos配置中心原理(一)- SpringCloud應(yīng)用啟動(dòng)時(shí)拉取配置

    熟悉Spring的小伙伴都知道,Spring 提供了強(qiáng)大的擴(kuò)展機(jī)制。其中包括 ** ApplicationContextInitializer **,該擴(kuò)展是在上下文準(zhǔn)備階段(prepareContext), 容器刷新之前做一些初始化工作 ,比如我們常用的配置中心 client 基本都是繼承該初始化器,在容器刷新前將配置從遠(yuǎn)程拉到本地,然

    2024年02月19日
    瀏覽(18)
  • springcloud/springboot集成NACOS 做注冊(cè)和配置中心以及nacos源碼分析

    springcloud/springboot集成NACOS 做注冊(cè)和配置中心以及nacos源碼分析

    Spring Cloud 是一系列框架的有序集合如服務(wù)發(fā)現(xiàn)注冊(cè)、配置中心、消息總線、負(fù)載均衡、熔斷器、數(shù)據(jù)監(jiān)控等。 SpringCloud 將多個(gè)服務(wù)框架組合起來,通過Spring Boot進(jìn)行再封裝,屏蔽掉了復(fù)雜的配置和實(shí)現(xiàn)原理,最終給開發(fā)者提供了一套簡單易懂、易部署和易維護(hù)的分布式系統(tǒng)開

    2024年02月08日
    瀏覽(97)
  • springcloud使用nacos搭建注冊(cè)中心

    springcloud使用nacos搭建注冊(cè)中心

    nacos安裝這里就不細(xì)說了,(Nacos下載以及搭建環(huán)境_你非檸檬為何心酸142的博客-CSDN博客) 大家也可以去網(wǎng)上安裝好,這里主要講搭建 ,我們需要手動(dòng)啟動(dòng)nacos, 輸入(.startup.cmd?-m?standalone),出現(xiàn)一下圖標(biāo)就代表ok ?下面是我的pom.xml文件 ?首先是父工程所需要的依賴,需要注意的

    2024年02月08日
    瀏覽(90)
  • SpringCloud Alibaba集成 Gateway(自定義負(fù)載均衡器)、Nacos(配置中心、注冊(cè)中心)、Loadbalancer

    SpringCloud Alibaba集成 Gateway(自定義負(fù)載均衡器)、Nacos(配置中心、注冊(cè)中心)、Loadbalancer

    路由(route):路由是網(wǎng)關(guān)最基礎(chǔ)的部分,路由信息由一個(gè)ID,一個(gè)目的URL、一組斷言工廠和一 組Filter組成。如果斷言為真,則說明請(qǐng)求URL和配置的路由匹配。 斷言(Predicate):Java8中的斷言函數(shù),Spring Cloud Gateway中的斷言函數(shù)輸入類型是 Spring5.0框架中的ServerWebExchange。Sprin

    2024年04月12日
    瀏覽(91)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包