Springboot报错Caused by: javax.management.InstanceAlreadyExistsException: DefaultDomain:application=

启动项目时遇到的报错,在同事的电脑上可以正常运行,记录尝试的几种解决办法

JMX是Java平台中用于管理和监控应用程序、设备和服务的标准API。在Spring Boot应用程序中,默认情况下会启用JMX来提供一些管理和监控的功能,例如通过JConsole或VisualVM监控应用程序的运行状态,查看和修改应用程序的配置等。

JMX的用处及用法 - 简书

  1. 网上大部分相同报错的原因是因为Tomcat同时部署了两个Springboot应用,或者Tomcat部署了应用两次(❎)
  2. 在application.properties中添加配置,将spring.jmx.enabled配置项设置为false可以禁用JMX功能,即不再提供JMX相关的管理和监控功能(❎)
    spring.jmx.enabled=false
  3. 在application.properties中添加配置,如果有针对不同环境的多个application.properties文件,在每个文件中指定不同的属性值(❎)
    spring.jmx.default-domain=xxx
  4. 在启动类上添加@EnableMBeanExport注解,并将exposeProxy属性设置为false,可以阻止Spring将代理对象暴露给JMX(❎)
    @SpringBootApplication
    @EnableMBeanExport(exposeProxy = false)
    public class YourApplication {
        public static void main(String[] args) {
            SpringApplication.run(YourApplication.class, args);
        }
    }
  5. IDEA版本问题,从2023.1.4换成2021.3重新启动后成功运行(✅)
    这个是在Stack Overflow上看到一个相同的例子,尝试后解决问题

    Spring Boot - How to configure JMX default-domain - Stack Overflow

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值