SpringBoot引入Micrometer报“io.micrometer.prometheus.HistogramFlavor”

news/2024/5/19 0:57:22 标签: spring boot, prometheus, java, maven

原因

io.micrometer.prometheus.HistogramFlavor是因为导入依赖时版本的问题,上面是我最初导入的依赖,去掉<version>1.1.4</version>就可以了,因为SpringBoot的父依赖已经帮你确定好了

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
	<groupId>io.micrometer</groupId>
	<artifactId>micrometer-registry-prometheus</artifactId>
	<version>1.1.4</version>
</dependency>

问题排查

最开始发现这个问题是点入了spring-boot-starter-actuator,发现它里面有一个关于Micrometer的写了1.9.7,然后开始怀疑micrometer-registry-prometheus依赖的版本有问题。然后去掉了依赖版本,刷新了一下Maven发现不写版本也可以运行,SpringBoot已经帮你定好了版本。
在这里插入图片描述
在这里插入图片描述
之后可以确定一下micrometer-registry-prometheus真实的版本,一路进parent进行。
在这里插入图片描述
在这里插入图片描述

正常进来这里就可以看见了,但这个藏的还挺深,得继续进micrometer-bom,之后就可以看见micrometer-registry-prometheus的版本了,确实是1.9.7。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

也有更快的方式,直接在Maven的依赖里看。
在这里插入图片描述

补充

顺便补充一下,parent类的东西。SpringBoot中有些依赖是不用写版本号的,因为继承了parent标签,人家SpringBoot就帮你定好了版本。
在pom.xml中,按住Ctrl点击spring-boot-starter-parent,进入后发现spring-boot-starter-parent 自身并没有定义dependencyManagement,而是继续依赖于了spring-boot-dependencies
在这里插入图片描述
先看一下spring-boot-starter-parent,它主要是添加了一些默认的配置,像指定了使用的 JDK 版本号,编码方式,还有一些比较高级的像资源过滤、插件配置等,具体可参考这篇文章。
在这里插入图片描述
而进入spring-boot-dependencies你就可以看到SpringBoot提供的各种依赖的版本号了。
在这里插入图片描述
在这里插入图片描述


http://www.niftyadmin.cn/n/181836.html

相关文章

elementUI使用

一&#xff1a;elementUI下拉框错位 下图为错位示例 使用如下方法&#xff0c;可解决错位问题 // 在模板文件中&#xff0c;配置不让组件插入body中 <el-select:popper-append-to-body"false"> // 使用决定定位&#xff0c;强制下拉选项放在下拉框下方且对齐。…

快速上手Amazon SageMaker动手实验室

这个动手实验室会通过三个不同类型的实验引导您如何使用Amazon SageMaker&#xff0c;让您感受SageMaker的非凡之处。 使用Amazon SageMaker构建Stable-Diffusion 这个实验会引导您通过Amazon SageMaker NoteBook实例来构建AIGC环境&#xff0c;同时您可以体验到使用提示词来使…

犯罪现场还原虚拟vr训练平台突破各种教学限制

在当今社会矛盾日益凸显、各式犯罪层出不穷的背景下&#xff0c;创新改革公安院校实战化教学方式&#xff0c;强化对基层公安队伍实战化应用型人才的供给能力具有重要性、紧迫性。 案件现场勘查是门技术活&#xff0c;如何让民警快速有效提升技能、服务实战? 常规刑侦专业现场…

leetcode之只出现一次的数字

今天为大家分享的是关于在数组中找到只出现一次数字的系列题目&#xff0c;我将使用c跟Java来实现&#xff0c;希望我的分享能够帮助到大家。 文章目录初阶查找单身狗理解题目做题思路C语言代码实现Java代码实现进阶找单身狗题目要求做题思路C语言代码实现Java代码实现小结初阶…

使用ChatGPT进行AI对话

1.ChatGPT简介 ChatGPT是美国人工智能研究实验室OpenAI新推出的一种人工智能技术驱动的自然语言处理工具&#xff0c;使用了Transformer神经网络架构&#xff0c;也是GPT-3.5架构&#xff0c;这是一种用于处理序列数据的模型&#xff0c;拥有语言理解和文本生成能力&#xff0c…

微信原生开发中 JSON配置文件的作用 小程序中有几种JSON配制文件

关于json json是一种数据格式&#xff0c;在实际开发中&#xff0c;JSON总是以配制文件的形式出现&#xff0c;小程序与不例外&#xff0c;可对项目进行不同级别的配制。Q&#xff1a;小程序中有几种配制文件A:小程序中有四种配制文件分别是&#xff1a;project.config.json si…

2023大数据开发就业前景怎么样?

大数据开发就业班正在火热招生中。 大数据开发做什么&#xff1f; 大数据开发分两类&#xff0c;编写Hadoop、Spark的应用程序和对大数据处理系统本身进行开发。大数据开发工程师主要负责公司大数据平台的开发和维护、相关工具平台的架构设计与产品开发、网络日志大…

JUnit5用户手册~参数化测试

ParameterizedTest ValueSource(strings { "racecar", "radar", "able was I ere I saw elba" }) void palindromes(String candidate) {assertTrue(StringUtils.isPalindrome(candidate)); } 参数来源 ValueSource short byte int long float…