添加 Environment 就会出现run error问题
来源:2-5 启动日志优化

ming1
2022-05-05
import org.springframework.core.env.Environment;
添加
Environment env = app.run(args).getEnvironment();
会出现错误日志。
注释掉这句代码就正常。
重新更新了maven .M2的包也没有解决这个问题。
有什么方法解决这个问题,什么原因造成的。
11:37.360 INFO com.newdemoone.demoone.config.DemonApplication :55 main Starting DemonApplication using Java 1.8.0_311 on 戴朝明 with PID 15824 (D:\demoone\target\classes started by xmcb0 in D:\demoone)
11:37.360 INFO com.newdemoone.demoone.config.DemonApplication :640 main No active profile set, falling back to 1 default profile: "default"
11:37.431 INFO o.s.boot.web.embedded.tomcat.TomcatWebServer :108 main Tomcat initialized with port(s): 8088 (http)
11:37.432 INFO org.apache.coyote.http11.Http11NioProtocol :173 main Initializing ProtocolHandler ["http-nio-8088"]
11:37.432 INFO org.apache.catalina.core.StandardService :173 main Starting service [Tomcat]
11:37.432 INFO org.apache.catalina.core.StandardEngine :173 main Starting Servlet engine: [Apache Tomcat/9.0.62]
11:37.440 INFO o.a.c.c.ContainerBase.[Tomcat-1].[localhost].[/] :173 main Initializing Spring embedded WebApplicationContext
11:37.440 INFO o.s.b.w.s.c.ServletWebServerApplicationContext :290 main Root WebApplicationContext: initialization completed in 79 ms
11:37.468 WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext:591 main Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springApplicationAdminRegistrar' defined in class path resource [org/springframework/boot/autoconfigure/admin/SpringApplicationAdminJmxAutoConfiguration.class]: Invocation of init method failed; nested exception is javax.management.InstanceAlreadyExistsException: org.springframework.boot:type=Admin,name=SpringApplication
11:37.469 INFO org.apache.catalina.core.StandardService :173 main Stopping service [Tomcat]
11:37.473 INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener:136 main
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
11:37.482 ERROR org.springframework.boot.SpringApplication :830 main Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springApplicationAdminRegistrar' defined in class path resource [org/springframework/boot/autoconfigure/admin/SpringApplicationAdminJmxAutoConfiguration.class]: Invocation of init method failed; nested exception is javax.management.InstanceAlreadyExistsException: org.springframework.boot:type=Admin,name=SpringApplication
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:953)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:740)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:415)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:303)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1312)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1301)
at com.newdemoone.demoone.config.DemonApplication.main(DemonApplication.java:24)
Caused by: javax.management.InstanceAlreadyExistsException: org.springframework.boot:type=Admin,name=SpringApplication
at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:437)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(DefaultMBeanServerInterceptor.java:1898)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:966)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:900)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:324)
at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522)
at org.springframework.boot.admin.SpringApplicationAdminMXBeanRegistrar.afterPropertiesSet(SpringApplicationAdminMXBeanRegistrar.java:129)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800)
... 16 common frames omitted
写回答
1回答
-
一般启动失败是因为导错包了,可以对比下课程这一节的源码
org.slf4j.Logger; org.slf4j.LoggerFactory; org.springframework.boot.SpringApplication; org.springframework.boot.autoconfigure.; org.springframework.context.annotation.; org.springframework.core.env.Environment;
012022-05-06
相似问题