<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have searched the <a href="https://github.com/apache/incubator-dubbo/issues">issues</a> of this repository and believe that this is not a duplicate.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have checked the <a href="https://github.com/apache/incubator-dubbo/blob/master/FAQ.md">FAQ</a> of this repository and believe that this is not a duplicate.</li>
</ul>
<h3 dir="auto">Environment</h3>
<ul dir="auto">
<li>Dubbo version: 2.7.1-SNAPSHOT</li>
<li>Operating System version: MacOS</li>
<li>Java version: 1.8</li>
</ul>
<h3 dir="auto">Steps to reproduce this issue</h3>
<ol dir="auto">
<li>add latest dubbo version and spring-boot-starter-dubbo</li>
<li>try to start springboot</li>
<li>java.lang.NoClassDefFoundError: org/apache/curator/retry/ExponentialBackoffRetry</li>
</ol>
<h3 dir="auto">Actual Result</h3>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="java.lang.NoClassDefFoundError: org/apache/curator/retry/ExponentialBackoffRetry
	at org.apache.dubbo.configcenter.support.zookeeper.ZookeeperDynamicConfiguration.&lt;init&gt;(ZookeeperDynamicConfiguration.java:64) ~[dubbo-2.7.1-SNAPSHOT.jar:2.7.1-SNAPSHOT]
	at org.apache.dubbo.configcenter.support.zookeeper.ZookeeperDynamicConfigurationFactory.createDynamicConfiguration(ZookeeperDynamicConfigurationFactory.java:29) ~[dubbo-2.7.1-SNAPSHOT.jar:2.7.1-SNAPSHOT]
	at org.apache.dubbo.configcenter.AbstractDynamicConfigurationFactory.getDynamicConfiguration(AbstractDynamicConfigurationFactory.java:33) ~[dubbo-2.7.1-SNAPSHOT.jar:2.7.1-SNAPSHOT]..."><pre class="notranslate"><code class="notranslate">java.lang.NoClassDefFoundError: org/apache/curator/retry/ExponentialBackoffRetry
	at org.apache.dubbo.configcenter.support.zookeeper.ZookeeperDynamicConfiguration.&lt;init&gt;(ZookeeperDynamicConfiguration.java:64) ~[dubbo-2.7.1-SNAPSHOT.jar:2.7.1-SNAPSHOT]
	at org.apache.dubbo.configcenter.support.zookeeper.ZookeeperDynamicConfigurationFactory.createDynamicConfiguration(ZookeeperDynamicConfigurationFactory.java:29) ~[dubbo-2.7.1-SNAPSHOT.jar:2.7.1-SNAPSHOT]
	at org.apache.dubbo.configcenter.AbstractDynamicConfigurationFactory.getDynamicConfiguration(AbstractDynamicConfigurationFactory.java:33) ~[dubbo-2.7.1-SNAPSHOT.jar:2.7.1-SNAPSHOT]...
</code></pre></div>
<p dir="auto">Have to manually add curator-framework and curator-recipes and then it starts successfully. But it seems not convenient. Any problem with the pom.xml setting?<br>
必须手动增加curator-framework和curator-recipes两个依赖，否则无法通过springboot启动，请问下是配置有问题吗<br>
The dependency:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="    &lt;dependency&gt;
      &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
      &lt;artifactId&gt;spring-boot-starter-web&lt;/artifactId&gt;
    &lt;/dependency&gt;

    &lt;dependency&gt;
      &lt;groupId&gt;org.apache.dubbo&lt;/groupId&gt;
      &lt;artifactId&gt;dubbo&lt;/artifactId&gt;
      &lt;version&gt;2.7.1-SNAPSHOT&lt;/version&gt;
    &lt;/dependency&gt;

    &lt;dependency&gt;
      &lt;groupId&gt;io.dubbo.springboot&lt;/groupId&gt;
      &lt;artifactId&gt;spring-boot-starter-dubbo&lt;/artifactId&gt;
      &lt;version&gt;1.0.0&lt;/version&gt;
      &lt;exclusions&gt;
        &lt;exclusion&gt;
          &lt;groupId&gt;com.alibaba&lt;/groupId&gt;
          &lt;artifactId&gt;dubbo&lt;/artifactId&gt;
        &lt;/exclusion&gt;
      &lt;/exclusions&gt;
    &lt;/dependency&gt;

    &lt;dependency&gt;
      &lt;groupId&gt;org.apache.curator&lt;/groupId&gt;
      &lt;artifactId&gt;curator-framework&lt;/artifactId&gt;
      &lt;version&gt;4.0.1&lt;/version&gt;
      &lt;exclusions&gt;
        &lt;exclusion&gt;
          &lt;groupId&gt;org.apache.zookeeper&lt;/groupId&gt;
          &lt;artifactId&gt;zookeeper&lt;/artifactId&gt;
        &lt;/exclusion&gt;
      &lt;/exclusions&gt;
    &lt;/dependency&gt;
    &lt;dependency&gt;
      &lt;groupId&gt;org.apache.curator&lt;/groupId&gt;
      &lt;artifactId&gt;curator-recipes&lt;/artifactId&gt;
      &lt;version&gt;4.0.1&lt;/version&gt;
      &lt;exclusions&gt;
        &lt;exclusion&gt;
          &lt;groupId&gt;org.apache.zookeeper&lt;/groupId&gt;
          &lt;artifactId&gt;zookeeper&lt;/artifactId&gt;
        &lt;/exclusion&gt;
      &lt;/exclusions&gt;
    &lt;/dependency&gt;"><pre class="notranslate"><code class="notranslate">    &lt;dependency&gt;
      &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
      &lt;artifactId&gt;spring-boot-starter-web&lt;/artifactId&gt;
    &lt;/dependency&gt;

    &lt;dependency&gt;
      &lt;groupId&gt;org.apache.dubbo&lt;/groupId&gt;
      &lt;artifactId&gt;dubbo&lt;/artifactId&gt;
      &lt;version&gt;2.7.1-SNAPSHOT&lt;/version&gt;
    &lt;/dependency&gt;

    &lt;dependency&gt;
      &lt;groupId&gt;io.dubbo.springboot&lt;/groupId&gt;
      &lt;artifactId&gt;spring-boot-starter-dubbo&lt;/artifactId&gt;
      &lt;version&gt;1.0.0&lt;/version&gt;
      &lt;exclusions&gt;
        &lt;exclusion&gt;
          &lt;groupId&gt;com.alibaba&lt;/groupId&gt;
          &lt;artifactId&gt;dubbo&lt;/artifactId&gt;
        &lt;/exclusion&gt;
      &lt;/exclusions&gt;
    &lt;/dependency&gt;

    &lt;dependency&gt;
      &lt;groupId&gt;org.apache.curator&lt;/groupId&gt;
      &lt;artifactId&gt;curator-framework&lt;/artifactId&gt;
      &lt;version&gt;4.0.1&lt;/version&gt;
      &lt;exclusions&gt;
        &lt;exclusion&gt;
          &lt;groupId&gt;org.apache.zookeeper&lt;/groupId&gt;
          &lt;artifactId&gt;zookeeper&lt;/artifactId&gt;
        &lt;/exclusion&gt;
      &lt;/exclusions&gt;
    &lt;/dependency&gt;
    &lt;dependency&gt;
      &lt;groupId&gt;org.apache.curator&lt;/groupId&gt;
      &lt;artifactId&gt;curator-recipes&lt;/artifactId&gt;
      &lt;version&gt;4.0.1&lt;/version&gt;
      &lt;exclusions&gt;
        &lt;exclusion&gt;
          &lt;groupId&gt;org.apache.zookeeper&lt;/groupId&gt;
          &lt;artifactId&gt;zookeeper&lt;/artifactId&gt;
        &lt;/exclusion&gt;
      &lt;/exclusions&gt;
    &lt;/dependency&gt;
</code></pre></div>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have searched the <a href="https://github.com/apache/incubator-dubbo/issues">issues</a> of this repository and believe that this is not a duplicate.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have checked the <a href="https://github.com/apache/incubator-dubbo/blob/master/FAQ.md">FAQ</a> of this repository and believe that this is not a duplicate.</li>
</ul>
<h3 dir="auto">Environment</h3>
<ul dir="auto">
<li>Dubbo version: 2.7.0</li>
<li>Operating System version: window</li>
<li>Java version: jdk8</li>
</ul>
<h3 dir="auto">Steps to reproduce this issue</h3>
<ol dir="auto">
<li>dubbo-demo-annotation-consumer.Application 启动main()方法报错</li>
</ol>
<p dir="auto">[16/01/19 11:17:43:179 CST] main  INFO annotation.ReferenceAnnotationBeanPostProcessor: class org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor was destroying!<br>
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'demoServiceComponent': Injection of <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/reference/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/reference">@reference</a> dependencies failed; nested exception is java.lang.UnsupportedOperationException<br>
at org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor.postProcessPropertyValues(ReferenceAnnotationBeanPostProcessor.java:105)<br>
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1268)<br>
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)<br>
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)<br>
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312)<br>
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)<br>
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308)<br>
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)<br>
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)<br>
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)<br>
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)<br>
at org.springframework.context.annotation.AnnotationConfigApplicationContext.(AnnotationConfigApplicationContext.java:84)<br>
at org.apache.dubbo.demo.consumer.Application.main(Application.java:36)<br>
Caused by: java.lang.UnsupportedOperationException<br>
at java.util.concurrent.CopyOnWriteArrayList$COWIterator.set(CopyOnWriteArrayList.java:1185)<br>
at java.util.Collections.sort(Collections.java:170)<br>
at org.apache.dubbo.rpc.cluster.RouterChain.sort(RouterChain.java:87)<br>
at org.apache.dubbo.rpc.cluster.RouterChain.initWithRouters(RouterChain.java:67)<br>
at org.apache.dubbo.rpc.cluster.RouterChain.(RouterChain.java:57)<br>
at org.apache.dubbo.rpc.cluster.RouterChain.buildChain(RouterChain.java:46)<br>
at org.apache.dubbo.registry.integration.RegistryDirectory.buildRouterChain(RegistryDirectory.java:584)<br>
at org.apache.dubbo.registry.integration.RegistryProtocol.doRefer(RegistryProtocol.java:378)<br>
at org.apache.dubbo.registry.integration.RegistryProtocol.refer(RegistryProtocol.java:361)<br>
at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:65)<br>
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:114)<br>
at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java)<br>
at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:372)<br>
at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:312)<br>
at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:236)<br>
at org.apache.dubbo.config.spring.ReferenceBean.getObject(ReferenceBean.java:70)<br>
at org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor$ReferenceFieldElement.inject(ReferenceAnnotationBeanPostProcessor.java:376)<br>
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)<br>
at org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor.postProcessPropertyValues(ReferenceAnnotationBeanPostProcessor.java:101)<br>
... 12 more</p>