You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在不升级Spring Boot 2.3.0时修改Actuator的Micrometer版本

解决方法

直接在dependencies中声明1.9.0版本micrometer-core不生效,是因为Spring Boot 2.3.x通过内置BOM统一管控了所有Micrometer组件的版本,dependencyManagement中声明的版本优先级高于普通依赖声明的版本,因此自定义版本被覆盖。在不升级Spring Boot版本的前提下,优先选择以下侵入性最低的配置方式:

方案1:重写内置版本属性(推荐)

Spring Boot 2.3.x将所有Micrometer组件的版本绑定到micrometer.version这个Maven属性上,只需要在项目pom.xml的properties节点重写该属性值,就能全局替换所有Micrometer相关依赖的版本,不需要逐个修改依赖配置:

<properties>
    <!-- 保留项目原有其他配置,新增以下行 -->
    <micrometer.version>1.9.0</micrometer.version>
</properties>

属性配置完成后,依赖按正常方式引入即可,不需要额外指定版本,也不需要排除actuator内置的micrometer依赖:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>io.micrometer</groupId>
        <artifactId>micrometer-registry-influx</artifactId>
    </dependency>
</dependencies>

配置完成后执行以下校验操作:

  • 执行命令mvn dependency:tree | grep micrometer,查看输出结果中所有micrometer开头的依赖版本是否均为1.9.0,确认不存在多版本共存的情况
  • 如果你是通过导入spring-boot-dependenciesBOM而非继承spring-boot-starter-parent的方式管理依赖,需要确认属性配置在BOM导入节点之前加载,避免属性值被覆盖
  • 启动项目验证actuator端点加载、Influx指标上报逻辑是否正常,Micrometer 1.9.x对Spring Boot 2.3.x兼容性良好,一般不会出现运行时问题

方案2:排除旧版本后显式引入(备用)

如果项目POM结构特殊,重写属性的方式无法生效,可以在引入actuator依赖时排除内置的旧版micrometer-core,再显式引入指定版本的所有Micrometer组件:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
        <exclusions>
            <exclusion>
                <groupId>io.micrometer</groupId>
                <artifactId>micrometer-core</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>io.micrometer</groupId>
        <artifactId>micrometer-core</artifactId>
        <version>1.9.0</version>
    </dependency>
    <dependency>
        <groupId>io.micrometer</groupId>
        <artifactId>micrometer-registry-influx</artifactId>
        <version>1.9.0</version>
    </dependency>
</dependencies>

该方案需要手动维护所有Micrometer组件的版本,后续升级时需要逐个修改版本号,维护成本更高,仅作为备选方案使用。


内容的提问来源于stack exchange,提问作者codesup

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 03:21:40