apache / dubbo

The java implementation of Apache Dubbo. An RPC and microservice framework.
https://dubbo.apache.org/
Apache License 2.0
40.39k stars 26.41k forks source link

dubbo 2.6.4 can not use with spring boot 1.5.x #2667

Closed liangzai-cool closed 5 years ago

liangzai-cool commented 5 years ago

Environment

Steps to reproduce this issue

  1. add dubbo(2.6.4), dubbo-spring-boot-starter(1.5.17), spring-boot-starter(2.0.0.RELEASE) to pom.xml
  2. add a spring boot start class
  3. run and can the exception

Pls. provide [see file] to reproduce this issue.

Expected Result

Run successfully

Actual Result

java.lang.IllegalStateException: Cannot load configuration class: com.alibaba.boot.dubbo.autoconfigure.DubboAutoConfiguration
......
Caused by: java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy

full log:

D:\ProgramFiles\Java\jdk1.8.0_172\bin\java.exe -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=49591 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=localhost -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-javaagent:D:\ProgramFiles\JetBrains\IntelliJ IDEA 2018.2.4\lib\idea_rt.jar=49592:D:\ProgramFiles\JetBrains\IntelliJ IDEA 2018.2.4\bin" -Dfile.encoding=UTF-8 -classpath D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\charsets.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\deploy.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\access-bridge-64.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\cldrdata.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\dnsns.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\jaccess.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\jfxrt.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\localedata.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\nashorn.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\sunec.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\sunjce_provider.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\sunmscapi.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\sunpkcs11.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\zipfs.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\javaws.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\jce.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\jfr.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\jfxswt.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\jsse.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\management-agent.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\plugin.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\resources.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\rt.jar;F:\idea-workspace\my\example\target\classes;E:\.m2\repository\org\springframework\boot\spring-boot-starter\1.5.17.RELEASE\spring-boot-starter-1.5.17.RELEASE.jar;E:\.m2\repository\org\springframework\boot\spring-boot\1.5.17.RELEASE\spring-boot-1.5.17.RELEASE.jar;E:\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\1.5.17.RELEASE\spring-boot-autoconfigure-1.5.17.RELEASE.jar;E:\.m2\repository\org\springframework\boot\spring-boot-starter-logging\1.5.17.RELEASE\spring-boot-starter-logging-1.5.17.RELEASE.jar;E:\.m2\repository\ch\qos\logback\logback-classic\1.1.11\logback-classic-1.1.11.jar;E:\.m2\repository\ch\qos\logback\logback-core\1.1.11\logback-core-1.1.11.jar;E:\.m2\repository\org\slf4j\jcl-over-slf4j\1.7.25\jcl-over-slf4j-1.7.25.jar;E:\.m2\repository\org\slf4j\jul-to-slf4j\1.7.25\jul-to-slf4j-1.7.25.jar;E:\.m2\repository\org\slf4j\log4j-over-slf4j\1.7.25\log4j-over-slf4j-1.7.25.jar;E:\.m2\repository\org\springframework\spring-core\4.3.20.RELEASE\spring-core-4.3.20.RELEASE.jar;E:\.m2\repository\org\yaml\snakeyaml\1.17\snakeyaml-1.17.jar;E:\.m2\repository\com\alibaba\dubbo\2.6.4\dubbo-2.6.4.jar;E:\.m2\repository\org\springframework\spring-context\4.3.20.RELEASE\spring-context-4.3.20.RELEASE.jar;E:\.m2\repository\org\springframework\spring-aop\4.3.20.RELEASE\spring-aop-4.3.20.RELEASE.jar;E:\.m2\repository\org\springframework\spring-beans\4.3.20.RELEASE\spring-beans-4.3.20.RELEASE.jar;E:\.m2\repository\org\springframework\spring-expression\4.3.20.RELEASE\spring-expression-4.3.20.RELEASE.jar;E:\.m2\repository\org\javassist\javassist\3.21.0-GA\javassist-3.21.0-GA.jar;E:\.m2\repository\org\jboss\netty\netty\3.2.5.Final\netty-3.2.5.Final.jar;E:\.m2\repository\com\alibaba\boot\dubbo-spring-boot-starter\0.2.0\dubbo-spring-boot-starter-0.2.0.jar;E:\.m2\repository\org\apache\zookeeper\zookeeper\3.4.9\zookeeper-3.4.9.jar;E:\.m2\repository\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;E:\.m2\repository\jline\jline\0.9.94\jline-0.9.94.jar;E:\.m2\repository\io\netty\netty\3.10.5.Final\netty-3.10.5.Final.jar;E:\.m2\repository\org\apache\curator\curator-framework\2.12.0\curator-framework-2.12.0.jar;E:\.m2\repository\org\apache\curator\curator-client\2.12.0\curator-client-2.12.0.jar;E:\.m2\repository\com\google\guava\guava\16.0.1\guava-16.0.1.jar;E:\.m2\repository\com\alibaba\boot\dubbo-spring-boot-autoconfigure\0.2.0\dubbo-spring-boot-autoconfigure-0.2.0.jar com.example.example.Application
2018-10-20 22:52:10.756  INFO 11160 --- [           main] c.a.dubbo.common.logger.LoggerFactory    : using logger: com.alibaba.dubbo.common.logger.log4j.Log4jLoggerAdapter
2018-10-20 22:52:10.761  INFO 11160 --- [           main] a.b.d.c.e.WelcomeLogoApplicationListener : 

 :: Dubbo Spring Boot (v0.2.0) : https://github.com/apache/incubator-dubbo-spring-boot-project
 :: Dubbo (v2.6.4) : https://github.com/apache/incubator-dubbo
 :: Google group : dev@dubbo.incubator.apache.org

2018-10-20 22:52:10.765  INFO 11160 --- [           main] e.OverrideDubboConfigApplicationListener : Dubbo Config was overridden by externalized configuration {}

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::       (v1.5.17.RELEASE)

2018-10-20 22:52:10.852  INFO 11160 --- [           main] com.example.example.Application          : Starting Application on DESKTOP-FSRV3R2 with PID 11160 (F:\idea-workspace\my\example\target\classes started by MyPCAccountName in F:\idea-workspace\my\example)
2018-10-20 22:52:10.853  INFO 11160 --- [           main] com.example.example.Application          : No active profile set, falling back to default profiles: default
2018-10-20 22:52:10.925  INFO 11160 --- [           main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@51931956: startup date [Sat Oct 20 22:52:10 CST 2018]; root of context hierarchy
2018-10-20 22:52:11.455 ERROR 11160 --- [           main] o.s.boot.SpringApplication               : Application startup failed

java.lang.IllegalStateException: Cannot load configuration class: com.alibaba.boot.dubbo.autoconfigure.DubboAutoConfiguration
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.enhanceConfigurationClasses(ConfigurationClassPostProcessor.java:404) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanFactory(ConfigurationClassPostProcessor.java:249) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:283) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:127) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:687) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:525) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) [spring-boot-1.5.17.RELEASE.jar:1.5.17.RELEASE]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) [spring-boot-1.5.17.RELEASE.jar:1.5.17.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) [spring-boot-1.5.17.RELEASE.jar:1.5.17.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) [spring-boot-1.5.17.RELEASE.jar:1.5.17.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107) [spring-boot-1.5.17.RELEASE.jar:1.5.17.RELEASE]
    at com.example.example.Application.main(Application.java:14) [classes/:na]
Caused by: java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy
    at sun.reflect.annotation.AnnotationParser.parseClassArray(AnnotationParser.java:724) ~[na:1.8.0_172]
    at sun.reflect.annotation.AnnotationParser.parseArray(AnnotationParser.java:531) ~[na:1.8.0_172]
    at sun.reflect.annotation.AnnotationParser.parseMemberValue(AnnotationParser.java:355) ~[na:1.8.0_172]
    at sun.reflect.annotation.AnnotationParser.parseAnnotation2(AnnotationParser.java:286) ~[na:1.8.0_172]
    at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:120) ~[na:1.8.0_172]
    at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:72) ~[na:1.8.0_172]
    at java.lang.reflect.Executable.declaredAnnotations(Executable.java:599) ~[na:1.8.0_172]
    at java.lang.reflect.Executable.declaredAnnotations(Executable.java:597) ~[na:1.8.0_172]
    at java.lang.reflect.Executable.getAnnotation(Executable.java:570) ~[na:1.8.0_172]
    at java.lang.reflect.Method.getAnnotation(Method.java:622) ~[na:1.8.0_172]
    at java.lang.reflect.AnnotatedElement.isAnnotationPresent(AnnotatedElement.java:258) ~[na:1.8.0_172]
    at java.lang.reflect.AccessibleObject.isAnnotationPresent(AccessibleObject.java:191) ~[na:1.8.0_172]
    at org.springframework.core.annotation.AnnotatedElementUtils.hasAnnotation(AnnotatedElementUtils.java:614) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at org.springframework.context.annotation.BeanAnnotationHelper.isBeanAnnotated(BeanAnnotationHelper.java:33) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.isMatch(ConfigurationClassEnhancer.java:421) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at org.springframework.context.annotation.ConfigurationClassEnhancer$ConditionalCallbackFilter.accept(ConfigurationClassEnhancer.java:193) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at org.springframework.cglib.proxy.Enhancer.emitMethods(Enhancer.java:1108) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at org.springframework.cglib.proxy.Enhancer.generateClass(Enhancer.java:630) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at org.springframework.cglib.transform.TransformingClassGenerator.generateClass(TransformingClassGenerator.java:33) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at org.springframework.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanFactoryAwareGeneratorStrategy.generate(ConfigurationClassEnhancer.java:252) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at org.springframework.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:329) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at org.springframework.cglib.proxy.Enhancer.generate(Enhancer.java:492) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:93) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:91) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at org.springframework.cglib.core.internal.LoadingCache$2.call(LoadingCache.java:54) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_172]
    at org.springframework.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:61) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at org.springframework.cglib.core.internal.LoadingCache.get(LoadingCache.java:34) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData.get(AbstractClassGenerator.java:116) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at org.springframework.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:291) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at org.springframework.cglib.proxy.Enhancer.createHelper(Enhancer.java:480) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at org.springframework.cglib.proxy.Enhancer.createClass(Enhancer.java:337) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at org.springframework.context.annotation.ConfigurationClassEnhancer.createClass(ConfigurationClassEnhancer.java:138) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at org.springframework.context.annotation.ConfigurationClassEnhancer.enhance(ConfigurationClassEnhancer.java:110) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.enhanceConfigurationClasses(ConfigurationClassPostProcessor.java:394) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE]
    ... 11 common frames omitted

2018-10-20 22:52:11.456  INFO 11160 --- [           main] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@51931956: startup date [Sat Oct 20 22:52:10 CST 2018]; root of context hierarchy

Process finished with exit code 1

example.zip

cvictory commented 5 years ago

@mercyblitz this is dubbo-springboot starter issue. refer to this page.

As page said , you should use name attribute when using @ConditionOnClass.

The DubboAutoConfiguration code:

@Configuration
@ConditionalOnProperty(prefix = DUBBO_PREFIX, name = "enabled", matchIfMissing = true, havingValue = "true")
@ConditionalOnClass(AbstractConfig.class)
public class DubboAutoConfiguration {

    /**
     * Single Dubbo Config Configuration
     *
     * @see EnableDubboConfig
     * @see DubboConfigConfiguration.Single
     */
    @EnableDubboConfig
    protected static class SingleDubboConfigConfiguration {
    }

    /**
     * Multiple Dubbo Config Configuration , equals @EnableDubboConfig.multiple() == <code>true</code>
     *
     * @see EnableDubboConfig
     * @see DubboConfigConfiguration.Multiple
     */
    @ConditionalOnProperty(name = MULTIPLE_CONFIG_PROPERTY_NAME, havingValue = "true")
    @EnableDubboConfig(multiple = true)
    protected static class MultipleDubboConfigConfiguration {
    }

    /**
     * Creates {@link ServiceAnnotationBeanPostProcessor} Bean
     *
     * @param environment {@link Environment} Bean
     * @return {@link ServiceAnnotationBeanPostProcessor}
     */
    @ConditionalOnProperty(name = BASE_PACKAGES_PROPERTY_NAME)
    @ConditionalOnClass(ConfigurationPropertySources.class)
    @Bean
    public ServiceAnnotationBeanPostProcessor serviceAnnotationBeanPostProcessor(Environment environment) {
        Set<String> packagesToScan = environment.getProperty(BASE_PACKAGES_PROPERTY_NAME, Set.class, emptySet());
        return new ServiceAnnotationBeanPostProcessor(packagesToScan);
    }
cvictory commented 5 years ago

@mercyblitz this is dubbo-springboot starter issue. refer to this page.

As page said , you should use name attribute when using @ConditionOnClass.

The DubboAutoConfiguration code:

@Configuration
@ConditionalOnProperty(prefix = DUBBO_PREFIX, name = "enabled",
matchIfMissing = true, havingValue = "true")
@ConditionalOnClass(AbstractConfig.class)
public class DubboAutoConfiguration {

    /**
     * Single Dubbo Config Configuration
     *
     * @see EnableDubboConfig
     * @see DubboConfigConfiguration.Single
     */
    @EnableDubboConfig
    protected static class SingleDubboConfigConfiguration {
    }

    /**
     * Multiple Dubbo Config Configuration , equals
@EnableDubboConfig.multiple() == <code>true</code>
     *
     * @see EnableDubboConfig
     * @see DubboConfigConfiguration.Multiple
     */
    @ConditionalOnProperty(name = MULTIPLE_CONFIG_PROPERTY_NAME,
havingValue = "true")
    @EnableDubboConfig(multiple = true)
    protected static class MultipleDubboConfigConfiguration {
    }

    /**
     * Creates {@link ServiceAnnotationBeanPostProcessor} Bean
     *
     * @param environment {@link Environment} Bean
     * @return {@link ServiceAnnotationBeanPostProcessor}
     */
    @ConditionalOnProperty(name = BASE_PACKAGES_PROPERTY_NAME)
    @ConditionalOnClass(ConfigurationPropertySources.class)
    @Bean
    public ServiceAnnotationBeanPostProcessor
serviceAnnotationBeanPostProcessor(Environment environment) {
        Set<String> packagesToScan =
environment.getProperty(BASE_PACKAGES_PROPERTY_NAME, Set.class, emptySet());
        return new ServiceAnnotationBeanPostProcessor(packagesToScan);
    }

薛亮 notifications@github.com 于2018年10月20日周六 下午11:03写道:

Environment

  • Dubbo version: 2.6.4
  • Operating System version: Windows 10
  • Java version: 1.8.0_172

Steps to reproduce this issue

  1. add dubbo(2.6.4), dubbo-spring-boot-starter(0.2.0) to pom.xml
  2. add a spring boot start class
  3. run and can

Pls. provide [see file] to reproduce this issue. Expected Result

Run successfully Actual Result

java.lang.IllegalStateException: Cannot load configuration class: com.alibaba.boot.dubbo.autoconfigure.DubboAutoConfiguration ...... Caused by: java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy

full log:

D:\ProgramFiles\Java\jdk1.8.0_172\bin\java.exe -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=49591 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=localhost -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-javaagent:D:\ProgramFiles\JetBrains\IntelliJ IDEA 2018.2.4\lib\idea_rt.jar=49592:D:\ProgramFiles\JetBrains\IntelliJ IDEA 2018.2.4\bin" -Dfile.encoding=UTF-8 -classpath D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\charsets.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\deploy.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\access-bridge-64.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\cldrdata.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\dnsns.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\jaccess.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\jfxrt.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\localedata.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\nashorn.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\sunec.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\sunjce_provider.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\sunmscapi.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\sunpkcs11.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\zipfs.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\javaws.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\jce.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\jfr.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\jfxswt.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\jsse.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\management-agent.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\plugin.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\resources.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\rt.jar;F:\idea-workspace\my\example\target\classes;E:.m2\repository\org\springframework\boot\spring-boot-starter\1.5.17.RELEASE\spring-boot-starter-1.5.17.RELEASE.jar;E:.m2\repository\org\springframework\boot\spring-boot\1.5.17.RELEASE\spring-boot-1.5.17.RELEASE.jar;E:.m2\repository\org\springframework\boot\spring-boot-autoconfigure\1.5.17.RELEASE\spring-boot-autoconfigure-1.5.17.RELEASE.jar;E:.m2\repository\org\springframework\boot\spring-boot-starter-logging\1.5.17.RELEASE\spring-boot-starter-logging-1.5.17.RELEASE.jar;E:.m2\repository\ch\qos\logback\logback-classic\1.1.11\logback-classic-1.1.11.jar;E:.m2\repository\ch\qos\logback\logback-core\1.1.11\logback-core-1.1.11.jar;E:.m2\repository\org\slf4j\jcl-over-slf4j\1.7.25\jcl-over-slf4j-1.7.25.jar;E:.m2\repository\org\slf4j\jul-to-slf4j\1.7.25\jul-to-slf4j-1.7.25.jar;E:.m2\repository\org\slf4j\log4j-over-slf4j\1.7.25\log4j-over-slf4j-1.7.25.jar;E:.m2\repository\org\springframework\spring-core\4.3.20.RELEASE\spring-core-4.3.20.RELEASE.jar;E:.m2\repository\org\yaml\snakeyaml\1.17\snakeyaml-1.17.jar;E:.m2\repository\com\alibaba\dubbo\2.6.4\dubbo-2.6.4.jar;E:.m2\repository\org\springframework\spring-context\4.3.20.RELEASE\spring-context-4.3.20.RELEASE.jar;E:.m2\repository\org\springframework\spring-aop\4.3.20.RELEASE\spring-aop-4.3.20.RELEASE.jar;E:.m2\repository\org\springframework\spring-beans\4.3.20.RELEASE\spring-beans-4.3.20.RELEASE.jar;E:.m2\repository\org\springframework\spring-expression\4.3.20.RELEASE\spring-expression-4.3.20.RELEASE.jar;E:.m2\repository\org\javassist\javassist\3.21.0-GA\javassist-3.21.0-GA.jar;E:.m2\repository\org\jboss\netty\netty\3.2.5.Final\netty-3.2.5.Final.jar;E:.m2\repository\com\alibaba\boot\dubbo-spring-boot-starter\0.2.0\dubbo-spring-boot-starter-0.2.0.jar;E:.m2\repository\org\apache\zookeeper\zookeeper\3.4.9\zookeeper-3.4.9.jar;E:.m2\repository\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;E:.m2\repository\jline\jline\0.9.94\jline-0.9.94.jar;E:.m2\repository\io\netty\netty\3.10.5.Final\netty-3.10.5.Final.jar;E:.m2\repository\org\apache\curator\curator-framework\2.12.0\curator-framework-2.12.0.jar;E:.m2\repository\org\apache\curator\curator-client\2.12.0\curator-client-2.12.0.jar;E:.m2\repository\com\google\guava\guava\16.0.1\guava-16.0.1.jar;E:.m2\repository\com\alibaba\boot\dubbo-spring-boot-autoconfigure\0.2.0\dubbo-spring-boot-autoconfigure-0.2.0.jar com.example.example.Application 2018-10-20 22:52:10.756 INFO 11160 --- [ main] c.a.dubbo.common.logger.LoggerFactory : using logger: com.alibaba.dubbo.common.logger.log4j.Log4jLoggerAdapter 2018-10-20 22:52:10.761 INFO 11160 --- [ main] a.b.d.c.e.WelcomeLogoApplicationListener :

:: Dubbo Spring Boot (v0.2.0) : https://github.com/apache/incubator-dubbo-spring-boot-project :: Dubbo (v2.6.4) : https://github.com/apache/incubator-dubbo :: Google group : dev@dubbo.incubator.apache.org

2018-10-20 22:52:10.765 INFO 11160 --- [ main] e.OverrideDubboConfigApplicationListener : Dubbo Config was overridden by externalized configuration {}

. _ _ /\ / '_ () \ \ \ \ ( ( )\ | ' | '| | ' \/ ` | \ \ \ \ \/ _)| |)| | | | | || (| | ) ) ) ) ' |__| .|| ||| |\, | / / / / =========|_|==============|__/=//// :: Spring Boot :: (v1.5.17.RELEASE)

2018-10-20 22:52:10.852 INFO 11160 --- [ main] com.example.example.Application : Starting Application on DESKTOP-FSRV3R2 with PID 11160 (F:\idea-workspace\my\example\target\classes started by MyPCAccountName in F:\idea-workspace\my\example) 2018-10-20 22:52:10.853 INFO 11160 --- [ main] com.example.example.Application : No active profile set, falling back to default profiles: default 2018-10-20 22:52:10.925 INFO 11160 --- [ main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@51931956: startup date [Sat Oct 20 22:52:10 CST 2018]; root of context hierarchy 2018-10-20 22:52:11.455 ERROR 11160 --- [ main] o.s.boot.SpringApplication : Application startup failed

java.lang.IllegalStateException: Cannot load configuration class: com.alibaba.boot.dubbo.autoconfigure.DubboAutoConfiguration at org.springframework.context.annotation.ConfigurationClassPostProcessor.enhanceConfigurationClasses(ConfigurationClassPostProcessor.java:404) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanFactory(ConfigurationClassPostProcessor.java:249) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:283) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:127) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:687) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:525) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) [spring-boot-1.5.17.RELEASE.jar:1.5.17.RELEASE] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) [spring-boot-1.5.17.RELEASE.jar:1.5.17.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) [spring-boot-1.5.17.RELEASE.jar:1.5.17.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) [spring-boot-1.5.17.RELEASE.jar:1.5.17.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107) [spring-boot-1.5.17.RELEASE.jar:1.5.17.RELEASE] at com.example.example.Application.main(Application.java:14) [classes/:na] Caused by: java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy at sun.reflect.annotation.AnnotationParser.parseClassArray(AnnotationParser.java:724) ~[na:1.8.0_172] at sun.reflect.annotation.AnnotationParser.parseArray(AnnotationParser.java:531) ~[na:1.8.0_172] at sun.reflect.annotation.AnnotationParser.parseMemberValue(AnnotationParser.java:355) ~[na:1.8.0_172] at sun.reflect.annotation.AnnotationParser.parseAnnotation2(AnnotationParser.java:286) ~[na:1.8.0_172] at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:120) ~[na:1.8.0_172] at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:72) ~[na:1.8.0_172] at java.lang.reflect.Executable.declaredAnnotations(Executable.java:599) ~[na:1.8.0_172] at java.lang.reflect.Executable.declaredAnnotations(Executable.java:597) ~[na:1.8.0_172] at java.lang.reflect.Executable.getAnnotation(Executable.java:570) ~[na:1.8.0_172] at java.lang.reflect.Method.getAnnotation(Method.java:622) ~[na:1.8.0_172] at java.lang.reflect.AnnotatedElement.isAnnotationPresent(AnnotatedElement.java:258) ~[na:1.8.0_172] at java.lang.reflect.AccessibleObject.isAnnotationPresent(AccessibleObject.java:191) ~[na:1.8.0_172] at org.springframework.core.annotation.AnnotatedElementUtils.hasAnnotation(AnnotatedElementUtils.java:614) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.context.annotation.BeanAnnotationHelper.isBeanAnnotated(BeanAnnotationHelper.java:33) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.isMatch(ConfigurationClassEnhancer.java:421) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.context.annotation.ConfigurationClassEnhancer$ConditionalCallbackFilter.accept(ConfigurationClassEnhancer.java:193) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.proxy.Enhancer.emitMethods(Enhancer.java:1108) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.proxy.Enhancer.generateClass(Enhancer.java:630) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.transform.TransformingClassGenerator.generateClass(TransformingClassGenerator.java:33) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanFactoryAwareGeneratorStrategy.generate(ConfigurationClassEnhancer.java:252) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:329) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.proxy.Enhancer.generate(Enhancer.java:492) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:93) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:91) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.core.internal.LoadingCache$2.call(LoadingCache.java:54) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_172] at org.springframework.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:61) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.core.internal.LoadingCache.get(LoadingCache.java:34) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData.get(AbstractClassGenerator.java:116) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:291) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.proxy.Enhancer.createHelper(Enhancer.java:480) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.proxy.Enhancer.createClass(Enhancer.java:337) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.context.annotation.ConfigurationClassEnhancer.createClass(ConfigurationClassEnhancer.java:138) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.context.annotation.ConfigurationClassEnhancer.enhance(ConfigurationClassEnhancer.java:110) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.context.annotation.ConfigurationClassPostProcessor.enhanceConfigurationClasses(ConfigurationClassPostProcessor.java:394) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE] ... 11 common frames omitted

2018-10-20 22:52:11.456 INFO 11160 --- [ main] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@51931956: startup date [Sat Oct 20 22:52:10 CST 2018]; root of context hierarchy

Process finished with exit code 1

example.zip https://github.com/apache/incubator-dubbo/files/2498250/example.zip

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/apache/incubator-dubbo/issues/2667, or mute the thread https://github.com/notifications/unsubscribe-auth/AD5mbDQZM4AFLVYsfQji3RK4O6fJCfWwks5umzskgaJpZM4Xx-B7 .

--

Best Regard! cvitory

cvictory commented 5 years ago

I check the dubbo-spring-boot source code, and get this answer.

If you want to use spring boot 1.5.x, please use spring boot 0.1.1, and if use spring boot 2.x, you can continue to use springboot 0.2.0.

Please close this issue. &READY-TO-CLOSE&

victory shenglicao2@gmail.com 于2018年10月22日周一 下午7:14写道:

@mercyblitz this is dubbo-springboot starter issue. refer to this page.

As page said , you should use name attribute when using @ConditionOnClass.

The DubboAutoConfiguration code:

@Configuration
@ConditionalOnProperty(prefix = DUBBO_PREFIX, name = "enabled",
matchIfMissing = true, havingValue = "true")
@ConditionalOnClass(AbstractConfig.class)
public class DubboAutoConfiguration {

    /**
     * Single Dubbo Config Configuration
     *
     * @see EnableDubboConfig
     * @see DubboConfigConfiguration.Single
     */
    @EnableDubboConfig
    protected static class SingleDubboConfigConfiguration {
    }

    /**
     * Multiple Dubbo Config Configuration , equals
@EnableDubboConfig.multiple() == <code>true</code>
     *
     * @see EnableDubboConfig
     * @see DubboConfigConfiguration.Multiple
     */
    @ConditionalOnProperty(name = MULTIPLE_CONFIG_PROPERTY_NAME,
havingValue = "true")
    @EnableDubboConfig(multiple = true)
    protected static class MultipleDubboConfigConfiguration {
    }

    /**
     * Creates {@link ServiceAnnotationBeanPostProcessor} Bean
     *
     * @param environment {@link Environment} Bean
     * @return {@link ServiceAnnotationBeanPostProcessor}
     */
    @ConditionalOnProperty(name = BASE_PACKAGES_PROPERTY_NAME)
    @ConditionalOnClass(ConfigurationPropertySources.class)
    @Bean
    public ServiceAnnotationBeanPostProcessor
serviceAnnotationBeanPostProcessor(Environment environment) {
        Set<String> packagesToScan =
environment.getProperty(BASE_PACKAGES_PROPERTY_NAME, Set.class, emptySet());
        return new ServiceAnnotationBeanPostProcessor(packagesToScan);
    }

薛亮 notifications@github.com 于2018年10月20日周六 下午11:03写道:

Environment

  • Dubbo version: 2.6.4
  • Operating System version: Windows 10
  • Java version: 1.8.0_172

Steps to reproduce this issue

  1. add dubbo(2.6.4), dubbo-spring-boot-starter(0.2.0) to pom.xml
  2. add a spring boot start class
  3. run and can

Pls. provide [see file] to reproduce this issue. Expected Result

Run successfully Actual Result

java.lang.IllegalStateException: Cannot load configuration class: com.alibaba.boot.dubbo.autoconfigure.DubboAutoConfiguration ...... Caused by: java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy

full log:

D:\ProgramFiles\Java\jdk1.8.0_172\bin\java.exe -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=49591 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=localhost -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-javaagent:D:\ProgramFiles\JetBrains\IntelliJ IDEA 2018.2.4\lib\idea_rt.jar=49592:D:\ProgramFiles\JetBrains\IntelliJ IDEA 2018.2.4\bin" -Dfile.encoding=UTF-8 -classpath D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\charsets.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\deploy.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\access-bridge-64.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\cldrdata.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\dnsns.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\jaccess.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\jfxrt.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\localedata.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\nashorn.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\sunec.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\sunjce_provider.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\sunmscapi.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\sunpkcs11.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\ext\zipfs.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\javaws.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\jce.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\jfr.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\jfxswt.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\jsse.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\management-agent.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\plugin.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\resources.jar;D:\ProgramFiles\Java\jdk1.8.0_172\jre\lib\rt.jar;F:\idea-workspace\my\example\target\classes;E:.m2\repository\org\springframework\boot\spring-boot-starter\1.5.17.RELEASE\spring-boot-starter-1.5.17.RELEASE.jar;E:.m2\repository\org\springframework\boot\spring-boot\1.5.17.RELEASE\spring-boot-1.5.17.RELEASE.jar;E:.m2\repository\org\springframework\boot\spring-boot-autoconfigure\1.5.17.RELEASE\spring-boot-autoconfigure-1.5.17.RELEASE.jar;E:.m2\repository\org\springframework\boot\spring-boot-starter-logging\1.5.17.RELEASE\spring-boot-starter-logging-1.5.17.RELEASE.jar;E:.m2\repository\ch\qos\logback\logback-classic\1.1.11\logback-classic-1.1.11.jar;E:.m2\repository\ch\qos\logback\logback-core\1.1.11\logback-core-1.1.11.jar;E:.m2\repository\org\slf4j\jcl-over-slf4j\1.7.25\jcl-over-slf4j-1.7.25.jar;E:.m2\repository\org\slf4j\jul-to-slf4j\1.7.25\jul-to-slf4j-1.7.25.jar;E:.m2\repository\org\slf4j\log4j-over-slf4j\1.7.25\log4j-over-slf4j-1.7.25.jar;E:.m2\repository\org\springframework\spring-core\4.3.20.RELEASE\spring-core-4.3.20.RELEASE.jar;E:.m2\repository\org\yaml\snakeyaml\1.17\snakeyaml-1.17.jar;E:.m2\repository\com\alibaba\dubbo\2.6.4\dubbo-2.6.4.jar;E:.m2\repository\org\springframework\spring-context\4.3.20.RELEASE\spring-context-4.3.20.RELEASE.jar;E:.m2\repository\org\springframework\spring-aop\4.3.20.RELEASE\spring-aop-4.3.20.RELEASE.jar;E:.m2\repository\org\springframework\spring-beans\4.3.20.RELEASE\spring-beans-4.3.20.RELEASE.jar;E:.m2\repository\org\springframework\spring-expression\4.3.20.RELEASE\spring-expression-4.3.20.RELEASE.jar;E:.m2\repository\org\javassist\javassist\3.21.0-GA\javassist-3.21.0-GA.jar;E:.m2\repository\org\jboss\netty\netty\3.2.5.Final\netty-3.2.5.Final.jar;E:.m2\repository\com\alibaba\boot\dubbo-spring-boot-starter\0.2.0\dubbo-spring-boot-starter-0.2.0.jar;E:.m2\repository\org\apache\zookeeper\zookeeper\3.4.9\zookeeper-3.4.9.jar;E:.m2\repository\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;E:.m2\repository\jline\jline\0.9.94\jline-0.9.94.jar;E:.m2\repository\io\netty\netty\3.10.5.Final\netty-3.10.5.Final.jar;E:.m2\repository\org\apache\curator\curator-framework\2.12.0\curator-framework-2.12.0.jar;E:.m2\repository\org\apache\curator\curator-client\2.12.0\curator-client-2.12.0.jar;E:.m2\repository\com\google\guava\guava\16.0.1\guava-16.0.1.jar;E:.m2\repository\com\alibaba\boot\dubbo-spring-boot-autoconfigure\0.2.0\dubbo-spring-boot-autoconfigure-0.2.0.jar com.example.example.Application 2018-10-20 22:52:10.756 INFO 11160 --- [ main] c.a.dubbo.common.logger.LoggerFactory : using logger: com.alibaba.dubbo.common.logger.log4j.Log4jLoggerAdapter 2018-10-20 22:52:10.761 INFO 11160 --- [ main] a.b.d.c.e.WelcomeLogoApplicationListener :

:: Dubbo Spring Boot (v0.2.0) : https://github.com/apache/incubator-dubbo-spring-boot-project :: Dubbo (v2.6.4) : https://github.com/apache/incubator-dubbo :: Google group : dev@dubbo.incubator.apache.org

2018-10-20 22:52:10.765 INFO 11160 --- [ main] e.OverrideDubboConfigApplicationListener : Dubbo Config was overridden by externalized configuration {}

. _ _ /\ / '_ () \ \ \ \ ( ( )\ | ' | '| | ' \/ ` | \ \ \ \ \/ _)| |)| | | | | || (| | ) ) ) ) ' |__| .|| ||| |\, | / / / / =========|_|==============|__/=//// :: Spring Boot :: (v1.5.17.RELEASE)

2018-10-20 22:52:10.852 INFO 11160 --- [ main] com.example.example.Application : Starting Application on DESKTOP-FSRV3R2 with PID 11160 (F:\idea-workspace\my\example\target\classes started by MyPCAccountName in F:\idea-workspace\my\example) 2018-10-20 22:52:10.853 INFO 11160 --- [ main] com.example.example.Application : No active profile set, falling back to default profiles: default 2018-10-20 22:52:10.925 INFO 11160 --- [ main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@51931956: startup date [Sat Oct 20 22:52:10 CST 2018]; root of context hierarchy 2018-10-20 22:52:11.455 ERROR 11160 --- [ main] o.s.boot.SpringApplication : Application startup failed

java.lang.IllegalStateException: Cannot load configuration class: com.alibaba.boot.dubbo.autoconfigure.DubboAutoConfiguration at org.springframework.context.annotation.ConfigurationClassPostProcessor.enhanceConfigurationClasses(ConfigurationClassPostProcessor.java:404) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanFactory(ConfigurationClassPostProcessor.java:249) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:283) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:127) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:687) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:525) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) [spring-boot-1.5.17.RELEASE.jar:1.5.17.RELEASE] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) [spring-boot-1.5.17.RELEASE.jar:1.5.17.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) [spring-boot-1.5.17.RELEASE.jar:1.5.17.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) [spring-boot-1.5.17.RELEASE.jar:1.5.17.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107) [spring-boot-1.5.17.RELEASE.jar:1.5.17.RELEASE] at com.example.example.Application.main(Application.java:14) [classes/:na] Caused by: java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy at sun.reflect.annotation.AnnotationParser.parseClassArray(AnnotationParser.java:724) ~[na:1.8.0_172] at sun.reflect.annotation.AnnotationParser.parseArray(AnnotationParser.java:531) ~[na:1.8.0_172] at sun.reflect.annotation.AnnotationParser.parseMemberValue(AnnotationParser.java:355) ~[na:1.8.0_172] at sun.reflect.annotation.AnnotationParser.parseAnnotation2(AnnotationParser.java:286) ~[na:1.8.0_172] at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:120) ~[na:1.8.0_172] at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:72) ~[na:1.8.0_172] at java.lang.reflect.Executable.declaredAnnotations(Executable.java:599) ~[na:1.8.0_172] at java.lang.reflect.Executable.declaredAnnotations(Executable.java:597) ~[na:1.8.0_172] at java.lang.reflect.Executable.getAnnotation(Executable.java:570) ~[na:1.8.0_172] at java.lang.reflect.Method.getAnnotation(Method.java:622) ~[na:1.8.0_172] at java.lang.reflect.AnnotatedElement.isAnnotationPresent(AnnotatedElement.java:258) ~[na:1.8.0_172] at java.lang.reflect.AccessibleObject.isAnnotationPresent(AccessibleObject.java:191) ~[na:1.8.0_172] at org.springframework.core.annotation.AnnotatedElementUtils.hasAnnotation(AnnotatedElementUtils.java:614) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.context.annotation.BeanAnnotationHelper.isBeanAnnotated(BeanAnnotationHelper.java:33) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.isMatch(ConfigurationClassEnhancer.java:421) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.context.annotation.ConfigurationClassEnhancer$ConditionalCallbackFilter.accept(ConfigurationClassEnhancer.java:193) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.proxy.Enhancer.emitMethods(Enhancer.java:1108) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.proxy.Enhancer.generateClass(Enhancer.java:630) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.transform.TransformingClassGenerator.generateClass(TransformingClassGenerator.java:33) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanFactoryAwareGeneratorStrategy.generate(ConfigurationClassEnhancer.java:252) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:329) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.proxy.Enhancer.generate(Enhancer.java:492) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:93) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:91) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.core.internal.LoadingCache$2.call(LoadingCache.java:54) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_172] at org.springframework.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:61) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.core.internal.LoadingCache.get(LoadingCache.java:34) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData.get(AbstractClassGenerator.java:116) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:291) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.proxy.Enhancer.createHelper(Enhancer.java:480) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.cglib.proxy.Enhancer.createClass(Enhancer.java:337) ~[spring-core-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.context.annotation.ConfigurationClassEnhancer.createClass(ConfigurationClassEnhancer.java:138) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.context.annotation.ConfigurationClassEnhancer.enhance(ConfigurationClassEnhancer.java:110) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE] at org.springframework.context.annotation.ConfigurationClassPostProcessor.enhanceConfigurationClasses(ConfigurationClassPostProcessor.java:394) ~[spring-context-4.3.20.RELEASE.jar:4.3.20.RELEASE] ... 11 common frames omitted

2018-10-20 22:52:11.456 INFO 11160 --- [ main] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@51931956: startup date [Sat Oct 20 22:52:10 CST 2018]; root of context hierarchy

Process finished with exit code 1

example.zip https://github.com/apache/incubator-dubbo/files/2498250/example.zip

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/apache/incubator-dubbo/issues/2667, or mute the thread https://github.com/notifications/unsubscribe-auth/AD5mbDQZM4AFLVYsfQji3RK4O6fJCfWwks5umzskgaJpZM4Xx-B7 .

--

Best Regard! cvitory

--

Best Regard! cvitory