springboot启动配置文件bootstrap.yml无法加载,导致无法使用配置中心拉取配置启动项目的解决方法

2023-10-28

springboot启动配置文件bootstrap.yml无法加载,导致无法使用配置中心拉取配置启动项目的解决方法

使用springcloud开发项目,需要从配置中心根据需求拉取环境配置,最近在本地开发环境进行调试时,突然发现无法启动项目工程,报错如下:

2019-03-21 15:00:58.392  INFO 155060 --- [  main] c.c.c.ConfigServicePropertySourceLocator : Fetching config from server at : http://localhost:8888
2019-03-21 15:00:59.461  INFO 155060 --- [  main] c.c.c.ConfigServicePropertySourceLocator : Connect Timeout Exception on Url - http://localhost:8888. Will be trying the next url if available
2019-03-21 15:00:59.461  WARN 155060 --- [  main] c.c.c.ConfigServicePropertySourceLocator : Could not locate PropertySource: I/O error on GET request for "http://localhost:8888/application/dev": Connection refused: connect; nested exception is java.net.ConnectException: Connection refused: connect
2019-03-21 15:00:59.462  INFO 155060 --- [  main] c.c.cldmp.report.ReportApplication       : The following profiles are active: dev
2019-03-21 15:00:59.471  INFO 155060 --- [  main] ConfigServletWebServerApplicationContext : Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@1fb19a0: startup date [Thu Mar 21 15:00:59 CST 2019]; parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@5bda8e08

bootstrap.yml文件的配置如下:

server:
  port: 19019
spring:
  application:
    name: report
  cloud:
    config:
      username: sky
      password: xxx
      uri: http://11.193.166.30:19022

正常启动,项目应该前往http://11.193.166.30:19022配置中心这个地址去获取不同的配置,如获取我的dev环境配置,但错误提示了Fetching config from server at : http://localhost:8888,这明显是不对的,http://localhost:8888查看源码可知这是配置中心的默认地址.

 {
      "sourceType": "org.springframework.cloud.config.client.ConfigClientProperties",
      "defaultValue": [
        "http:\/\/localhost:8888"
      ],
      "name": "spring.cloud.config.uri",
      "description": "The URI of the remote server (default http:\/\/localhost:8888).",
      "type": "java.lang.String[]"
    },
  /**
	 * The URI of the remote server (default http://localhost:8888).
	 */
	private String[] uri = { "http://localhost:8888" };  

问题解决

刚开始,我以为bootstrap.yml配置文件里的参数填写有误,一直在修改配置文件里的参数,但没有解决问题.后来想到会不会是因为不同路径下配置文件的优先级不同,造成我的配置文件被其它配置文件所覆盖,导致无法加载我的配置文件.SpringBoot配置文件可以放置在多种路径下,不同路径下的配置优先级有所不同。配置文件可放置目录(优先级从高到低)如下:

file:./config/ (当前项目路径config目录下);
file:./ (当前项目路径下);
classpath:/config/ (类路径config目录下);
classpath:/ (类路径config下).

并没有发现其它配置文件.debug跟踪项目的启动情况,发现项目启动过程中根本没有读取到配置,这到底是什么原因呢?
一步步排查,突然发现bootstrap.yml文件在打包后存放路径有问题,classpath根路径下面没有bootstrap.yml,而是放在了BOOT-INF/classes这个路径下.
在这里插入图片描述

查看项目的pom文件,发现在resources配置中的部分代码如下:

<resource>
       <directory>src/main/resources</directory>
       <targetPath>BOOT-INF/classes/</targetPath>
</resource>

由此发现问题,是资源文件的打包路径出错,因代码是从git上拉取下来,此部分代码被其他同事修改,造成我在本地启动工程出现了启动失败的问题.将上述代码删除,项目顺利启动成功.查看打包后bootstrap.yml路径,bootstrap.yml路径已正确存放在classpath根路径下,如下图显示:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

springboot启动配置文件bootstrap.yml无法加载,导致无法使用配置中心拉取配置启动项目的解决方法 的相关文章

随机推荐

  • hutool工具包导出excel文件filename乱码与中文列宽自适应问题

    hutool工具包导出excel文件filename乱码与中文列宽自适应问题 话不多说 直接代码 修改之前 导出excel public static void downloadExcel List
  • 奥托零件价目表

    曲柄连杆机构 代码 名称 车型 状态 指导零售价 150000 活塞0 00 电喷 SC7080 配套 30 111210 活塞环 0 50 SC7080 配套 112 111260 连杆总成 SC7081 配套 51 136080 活塞3
  • Python实现字符串模糊匹配

    在一个字符串中 有时需对其中某些内容进行模糊匹配以实现条件的判定 如在 你好 hello world 中判断是否含有 llo Python中通过re search 方法实现 特别地 对于首位起始的内容匹配 也可通过re match 方法实现
  • spring配置文件中分别使用多个properties文件

    spring配置文件中分别使用多个properties文件 在使用spring时 有时候需要为了模块配置方便有时候需要针对不同的模块建立不同的applicationContext的配置文件 然后在对应模块的配置文件中对相应的模块进行单独配置
  • 通过Struts2文件下载时Can not find a java.io.InputStream with the name 异常

    异常堆栈信息 引用 严重 Can not find a java io InputStream with the name photoStream in the invocation stack Check the
  • openssh升级之后git账户免密登陆失效

    昨天升级了openssh之后 git操作是免密的却要输入密码了 但是输入正确密码却又一直提示密码错误 查看sshd服务状态发现使用git账户登陆的时候会提示 get shadow information for nouser 额 这是因为我
  • 解读奥哲·云枢:低代码拉动“企业数字化转型”进度条

    世界上有两种生意 一种是标准化 一种是个性化 20世纪初 美国亨利 福特提出了大规模生产方式 由于可以带来成本的大幅降低 大规模生产方式推动了汽车行业长达半个多世纪的发展 几乎被北美和欧洲的每一种工业活动所采纳 而其最显著的特征则是提供标准
  • VUE之jspreadsheet电子excel表格实时动态高度设置

    问题 excel电子表格在不同屏幕大小下横向滚动条会被遮挡 排查原因 由于excel高度固定导致 解决方法 设计页面较多 所以封装公共方法 步骤 1 使用混入封装动态设置excel高度方法 const mixinJexcel mounted
  • 【区块链】 区块链哈希算法

    哈希算法是什么 哈希算法是区块链中保证交易信息不被篡改的单向密码机制 哈希算法接收一段明文后 以一种不可逆的方式将其转化为一段长度较短 位数固定的散列数据 它有两个特点 加密过程不可逆 意味着我们无法通过输出的散列数据倒推原本的明文是什么
  • 数组的排序函数

    1 sort sort 函数对索引数组进行升序排序 改变原数组
  • 【数据库内核】01——从0到1数据库内核实战,挑战数据库领域最强大脑

    前 言 作者简介 半旧518 长跑型选手 立志坚持写10年博客 专注于java后端 数据库内核及生态开发 专栏简介 相当硬核 讲解数据库内核开发的理论 实战 带你深入解读数据库源码 剖析内核原理 实战手撸数据库内核 文章简介 一篇文章快速上
  • 对部署在docker上的gitlab,修改成员用户信息和重置密码

    1 先启动并进入docker上的gitlab docker exec ti gitlab bin bash 2 启动gitlab rails 这个启动过程会有点慢 加载完之后是这样 3 查找用户信息 先定位自己需要更改的账户的ID 可以先把
  • CMake 打包已经存在的动态库生成 target

    一 背景 在 CMakeLists txt 中 某模块 A 通过 add subdirectory 引入模块 B 模块 B 通过 add subdirectory 引入模块 C 模块 C 里面本身就是一个开源的动态库 比如 libtask
  • Geth在以太坊智能合约开发中最常用的工具(必备开发工具)

    命令用法 geth 选项 命令 命令选项 参数 版本 1 7 3 stable 命令 account 管理账户 attach 启动交互式JavaScript环境 连接到节点 bug 上报bug Issues console 启动交互式Jav
  • 多元回归预测

    文章目录 效果一览 文章概述 部分源码 参考资料 效果一览 文章概述 多元回归预测 Matlab多元线性回归MLR多变量预测模型 多变量输入结构 评价指标包括 MAE RMSE和R2等 代码质量极高 方便学习和替换数据 要求2018版本及以
  • Python 画多个子图函数 subplot

    子图函数 subplot 若要 pyplot 一次生成多个图形 一般要用到subplot函数 另外还有一个subplots函数 两个函数比较接近但略有区别 限于篇幅 我们只介绍 subplot函数 它的基本语法如下 ax plt subpl
  • 用户进程与内核进程通信netlink实例

    为了方便应用程序使用netlink接口 一个叫libnl库被开发 1 下载libnl2 http packages ubuntu com oneiric libnl2 2 下载libnl2 dev http packages ubuntu
  • 当前计算机什么专业好就业找工作,计算机哪个专业最好就业

    计算机专业是现在比较热门的专业 很多高考生在填报志愿时都很想填报计算机专业 但是由于不了解就有些犹豫 为了帮助大家提前做好打算 高三网小编特意为大家整理了一下计算机哪个专业最好就业 仅供学生们阅读 计算机哪个专业最好就业 计算机科学与技术专
  • Mongdb查询 - 常见场景查询语句示例

    目录 查询数据 1 整个文档查询 2 条件查询 1 精准等值查询 2 多条件查询 3 嵌套对象精准查询 4 返回指定字段 5 条件查询 and 6 条件查询 or 7 范围查询 200 lt 9000 lt gt 8 范围查询 in 9 n
  • springboot启动配置文件bootstrap.yml无法加载,导致无法使用配置中心拉取配置启动项目的解决方法

    springboot启动配置文件bootstrap yml无法加载 导致无法使用配置中心拉取配置启动项目的解决方法 使用springcloud开发项目 需要从配置中心根据需求拉取环境配置 最近在本地开发环境进行调试时 突然发现无法启动项目工