apache / apache/incubator-seata-samples

run dubbo模块, 注册中心为nacos找不到类

Open
#89 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
2.4k
Forks
2k
PR merge metrics
No merged PRs in 30d

Description

Exception in thread "main" java.lang.IllegalStateException: Failed to load extension class(interface: interface org.apache.dubbo.registry.RegistryFactory, class line: com.alibaba.dubbo.registry.nacos.NacosRegistryFactory) in jar:file:/D:/dev/workbench/dev/apache/repo/com/alibaba/dubbo-registry-nacos/0.0.2/dubbo-registry-nacos-0.0.2.jar!/META-INF/dubbo/com.alibaba.dubbo.registry.RegistryFactory, cause: com/alibaba/dubbo/registry/support/AbstractRegistryFactory
at org.apache.dubbo.common.extension.ExtensionLoader.loadResource(ExtensionLoader.java:675)
at org.apache.dubbo.common.extension.ExtensionLoader.loadDirectory(ExtensionLoader.java:643)
at org.apache.dubbo.common.extension.ExtensionLoader.loadExtensionClasses(ExtensionLoader.java:624)
at org.apache.dubbo.common.extension.ExtensionLoader.getExtensionClasses(ExtensionLoader.java:595)
at org.apache.dubbo.common.extension.ExtensionLoader.getSupportedExtensions(ExtensionLoader.java:373)
at org.apache.dubbo.common.extension.factory.SpiExtensionFactory.getExtension(SpiExtensionFactory.java:32)
at org.apache.dubbo.common.extension.factory.AdaptiveExtensionFactory.getExtension(AdaptiveExtensionFactory.java:47)
at org.apache.dubbo.common.extension.ExtensionLoader.injectExtension(ExtensionLoader.java:562)
at org.apache.dubbo.common.extension.ExtensionLoader.createExtension(ExtensionLoader.java:529)
at org.apache.dubbo.common.extension.ExtensionLoader.getExtension(ExtensionLoader.java:344)
at org.apache.dubbo.rpc.Protocol$Adaptive.export(Protocol$Adaptive.java)
at org.apache.dubbo.config.ServiceConfig.doExportUrlsFor1Protocol(ServiceConfig.java:553)
at org.apache.dubbo.config.ServiceConfig.doExportUrls(ServiceConfig.java:402)
at org.apache.dubbo.config.ServiceConfig.doExport(ServiceConfig.java:363)
at org.apache.dubbo.config.ServiceConfig.export(ServiceConfig.java:345)
at org.apache.dubbo.config.spring.ServiceBean.export(ServiceBean.java:318)
at org.apache.dubbo.config.spring.ServiceBean.onApplicationEvent(ServiceBean.java:112)
at org.apache.dubbo.config.spring.ServiceBean.onApplicationEvent(ServiceBean.java:58)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:398)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:355)
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:882)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549)
at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:144)
at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:95)
at com.alibaba.fescar.samples.dubbo.starter.DubboAccountServiceStarter.main(DubboAccountServiceStarter.java:34)
Caused by: java.lang.NoClassDefFoundError: com/alibaba/dubbo/registry/support/AbstractRegistryFactory
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.apache.dubbo.common.extension.ExtensionLoader.loadResource(ExtensionLoader.java:672)
... 27 more
Caused by: java.lang.ClassNotFoundException: com.alibaba.dubbo.registry.support.AbstractRegistryFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 42 more

Contributor guide

Open the contributing guide

Research direction

Start at com.alibaba.fescar.samples.dubbo.starter.DubboAccountServiceStarter.java line 34 and follow the Dubbo export path into ExtensionLoader. Inspect the dubbo-registry-nacos 0.0.2 JAR and runtime dependencies for the missing com.alibaba.dubbo.registry.support.AbstractRegistryFactory, then run the starter with Nacos configured. Done means the module starts without the NoClassDefFoundError.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.