启动项目时遇到的报错,在同事的电脑上可以正常运行,记录尝试的几种解决办法
JMX是Java平台中用于管理和监控应用程序、设备和服务的标准API。在Spring Boot应用程序中,默认情况下会启用JMX来提供一些管理和监控的功能,例如通过JConsole或VisualVM监控应用程序的运行状态,查看和修改应用程序的配置等。
- 网上大部分相同报错的原因是因为Tomcat同时部署了两个Springboot应用,或者Tomcat部署了应用两次(❎)
- 在application.properties中添加配置,将
spring.jmx.enabled配置项设置为false可以禁用JMX功能,即不再提供JMX相关的管理和监控功能(❎)spring.jmx.enabled=false - 在application.properties中添加配置,如果有针对不同环境的多个application.properties文件,在每个文件中指定不同的属性值(❎)
spring.jmx.default-domain=xxx - 在启动类上添加
@EnableMBeanExport注解,并将exposeProxy属性设置为false,可以阻止Spring将代理对象暴露给JMX(❎)@SpringBootApplication @EnableMBeanExport(exposeProxy = false) public class YourApplication { public static void main(String[] args) { SpringApplication.run(YourApplication.class, args); } } - IDEA版本问题,从2023.1.4换成2021.3重新启动后成功运行(✅)
这个是在Stack Overflow上看到一个相同的例子,尝试后解决问题
Spring Boot - How to configure JMX default-domain - Stack Overflow
博主记录了Spring Boot项目启动报错,在同事电脑却能正常运行的解决办法。介绍了JMX在Spring Boot应用中的默认启用及功能,尝试多种解决方式,如修改配置、添加注解等均失败,最终发现是IDEA版本问题,更换版本后成功运行。

527

被折叠的 条评论
为什么被折叠?



