Java org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration中的构造函数需要一个bean,但找到了3个
在使用配置演示后,我在运行演示站点(或管理员)时遇到问题 我犯了这个错误 ***************************应用程序无法启动Java org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration中的构造函数需要一个bean,但找到了3个,java,spring,spring-boot,broadleaf-commerce,Java,Spring,Spring Boot,Broadleaf Commerce,在使用配置演示后,我在运行演示站点(或管理员)时遇到问题 我犯了这个错误 ***************************应用程序无法启动 说明: 中的构造函数 org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration 需要一个bean,但找到了3个: -导出器:在类路径资源[bl common applicationContext mbeans.xml]中定义 -Bla
说明: 中的构造函数 org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration 需要一个bean,但找到了3个: -导出器:在类路径资源[bl common applicationContext mbeans.xml]中定义 -BlautodlStatusExporter:在类路径资源[bl common applicationContext mbeans.xml]中定义 -hibernateExporter:在类路径资源[bl common applicationContext mbeans.xml]中定义 行动: 考虑将其中一个bean标记为@Primary,以更新使用者 接受多个bean,或使用@Qualifier标识bean 这应该被消耗掉 我怎样才能解决这个问题
请注意,我使用的是最新的Broadleaf Commerce版本(5.2)尝试使用@Qualifier注释和您尝试加载的bean id @限定符(“{bean\u id\u here}”)注释
使用
primary=“true”
在您的xml配置文件中,让Spring知道何时bean应该是Spring Admin JMX配置的默认值,或者通过在应用程序.properties中设置Spring.application.Admin=false
来禁用Spring Admin JMX自动配置,我假设您是从最新版本的IntelliJ,2017.2。解决方法是在启动项目的运行配置中禁用“启用JMX代理”
我在上为此打开了一个问题,这个问题应该在下一个版本的Broadleaf中解决。感谢您的回答,我通过从IntelliJ中删除配置属性中的JMX属性,使其运行
单击编辑配置(从运行菜单)
停用“启用JMX代理”(对话框右下角)
申请并运行
希望这有帮助。这些bean是用XML定义的,因此您不能使用@Qualifier
。此外,异常提到它发生在SpringApplicationAdminJmxAutoConfiguration
中,这是一个Spring Boot自动配置类,您不能修改。这些bean都是在Broadleaf core框架中定义的。设置s属性不起作用,因为它是在IntelliJ 2017.2的最新版本中自动添加的。