无法启动 bean 'eurekaAutoServiceRegistration';由 没有为范围名称'refresh'注册范围



无法启动 BeaneurekaAutoServiceRegistration,原因为范围名称"刷新"未注册作用域

@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class })
@EnableDiscoveryClient
public class WebRun extends SpringBootServletInitializer {
public SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(WebRun.class);
}
public static void main(String[] args) {
SpringApplication.run(WebRun.class, args);
}
}

2-五月-2019 16:45:22.965 信息 [http-nio-9999-exec-1] org.apache.catalina.core.ApplicationContext.log Initializing Spring FrameworkServlet 'dispatcher' 22-May-2019 16:46:04.846 严重 [http-nio-9999-exec-1] org.apache.catalina.core.ApplicationContext.log StandardWrapper.Throwable org.springframework.context.ApplicationContextException: Failed to 启动 bean 'eurekaAutoServiceRegistration';嵌套异常是 java.lang.IllegalStateException: 没有为范围名称注册的范围 "刷新"在 org.springframework.context.support.DefaultLifecycle Processor.doStart(DefaultLifecycle Processor.java:178) 在 org.springframework.context.support.DefaultLifecycle Processor.access$200(DefaultLifecycle Processor.java:50) 在 org.springframework.context.support.DefaultLifecycle Processor$LifecycleGroup.start(DefaultLifecycle Processor.java:348) 在 org.springframework.context.support.DefaultLifecycle Processor.startBeans(DefaultLifecycle Processor.java:151) 在 org.springframework.context.support.DefaultLifecycle Processor.onRefresh(DefaultLifecycle Processor.java:114) 在 org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:880) 在 org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:546) 在 org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668) 在 org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:540) 在 org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494) 在 org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:171) at javax.servlet.GenericServlet.init(GenericServlet.java:158) at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1142) 在 org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:789) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:134) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) 在 org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) 在 org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798) 在 org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) 在 org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:808) 在 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498) 在 org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) 由以下原因引起: java.lang.IllegalStateException: 没有为范围名称注册的范围 "刷新"在 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) 在 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 在 org.springframework.aop.target.SimpleBeanTargetSource.getTarget(SimpleBeanTargetSource.java:35) 在 org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.getTarget(CglibAopProxy.java:705) 在 org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655) 在 com.netflix.appinfo.ApplicationInfoManager$$EnhancerBySpringCGLIB$4652f076.getInfo() 在 org.springframework.cloud.netflix.eureka.serviceregistry.EurekaServiceRegistry.maybeInitializeClient(EurekaServiceRegistry.java:55) 在 org.springframework.cloud.netflix.eureka.serviceregistry.EurekaServiceRegistry.register(EurekaServiceRegistry.java:37) 在 org.springframework.cloud.netflix.eureka.serviceregistry.EurekaAutoServiceRegistration.start(EurekaAutoServiceRegistration.java:73) 在 org.springframework.context.support.DefaultLifecycle Processor.doStart(DefaultLifecycle Processor.java:175) ...30 更多 22-May-2019 16:46:04.847 严重 [http-nio-9999-exec-1]org.apache.catalina.core.StandardWrapperValve.invoke Allocation Servlet [dispatcher] java.lang.IllegalStateException的异常: 没有为范围名称"刷新"注册范围 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) 在 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 在 org.springframework.aop.target.SimpleBeanTargetSource.getTarget(SimpleBeanTargetSource.java:35) 在 org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.getTarget(CglibAopProxy.java:705) 在 org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655) 在 com.netflix.appinfo.ApplicationInfoManager$$EnhancerBySpringCGLIB$4652f076.getInfo() 在 org.springframework.cloud.netflix.eureka.serviceregistry.EurekaServiceRegistry.maybeInitializeClient(EurekaServiceRegistry.java:55) 在 org.springframework.cloud.netflix.eureka.serviceregistry.EurekaServiceRegistry.register(EurekaServiceRegistry.java:37) 在 org.springframework.cloud.netflix.eureka.serviceregistry.EurekaAutoServiceRegistration.start(EurekaAutoServiceRegistration.java:73) 在 org.springframework.context.support.DefaultLifecycle Processor.doStart(DefaultLifecycle Processor.java:175) 在 org.springframework.context.support.DefaultLifecycle Processor.access$200(DefaultLifecycle Processor.java:50) 在 org.springframework.context.support.DefaultLifecycle Processor$LifecycleGroup.start(DefaultLifecycle Processor.java:348) 在 org.springframework.context.support.DefaultLifecycle Processor.startBeans(DefaultLifecycle Processor.java:151) 在 org.springframework.context.support.DefaultLifecycle Processor.onRefresh(DefaultLifecycle Processor.java:114) 在 org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:880) 在 org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:546) 在 org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668) 在 org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:540) 在 org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494) 在 org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:171) at javax.servlet.GenericServlet.init(GenericServlet.java:158) at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1142) 在 org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:789) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:134) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) 在 org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) 在 org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798) 在 org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) 在 org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:808) 在 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498) 在 org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748)

我认为您的项目配置有误依赖项中的版本不匹配

案例(1):
请检查您没有一个以上的类扩展SpringBootServletInitializer
在我的一个项目中,我错误地拥有以下两个类:

@SpringBootApplication
@EnableEurekaClient
public class MyApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(MyApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(CamponoApplication.class);
}
}

因此,我从我的项目中删除了第二个类,问题得到了解决。

我希望这对你有帮助

最新更新