I write a registry extension in dubbo 2.6.   Now I import it into a project that depend on dubbo2.7,  some error happened.

```
Caused by: java.lang.NoClassDefFoundError: com/alibaba/dubbo/registry/support/AbstractRegistryFactory
	at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.8.0_181]
	at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[na:1.8.0_181]
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[na:1.8.0_181]
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) ~[na:1.8.0_181]
	at java.net.URLClassLoader.access$100(URLClassLoader.java:73) ~[na:1.8.0_181]
	at java.net.URLClassLoader$1.run(URLClassLoader.java:368) ~[na:1.8.0_181]
	at java.net.URLClassLoader$1.run(URLClassLoader.java:362) ~[na:1.8.0_181]
	at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_181]
	at java.net.URLClassLoader.findClass(URLClassLoader.java:361) ~[na:1.8.0_181]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_181]
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) ~[na:1.8.0_181]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_181]
	at java.lang.Class.forName0(Native Method) ~[na:1.8.0_181]
	at java.lang.Class.forName(Class.java:348) ~[na:1.8.0_181]
	at org.apache.dubbo.common.extension.ExtensionLoader.loadResource(ExtensionLoader.java:702) ~[dubbo-2.7.1.jar:2.7.1]
	... 32 common frames omitted
Caused by: java.lang.ClassNotFoundException: com.alibaba.dubbo.registry.support.AbstractRegistryFactory
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_181]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_181]
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) ~[na:1.8.0_181]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_181]
	... 47 common frames omitted
```

}
            for (URL url : recoverRegistered) {
                addFailedRegistered(url);
            }
        }
        
        Map<URL, Set<NotifyListener>> recoverSubscribed = new HashMap<URL, Set<NotifyListener>>(getSubscribed());
        if (!recoverSubscribed.isEmpty()) {
            if (logger.isInfoEnabled()) {
                logger.info("Recover subscribe url " + recoverSubscribed.keySet());
            }
            for (Map.Entry<URL, Set<NotifyListener>> entry : recoverSubscribed.entrySet()) {
                URL url = entry.getKey();
                for (NotifyListener listener : entry.getValue()) {
                    addFailedSubscribed(url, listener);
                }
            }
        }
    }
    @Override
    public void destroy() {
        super.destroy();
        retryTimer.stop();
    }
    
    public abstract void doRegister(URL url);
    public abstract void doUnregister(URL url);
    public abstract void doSubscribe(URL url, NotifyListener listener);
    public abstract void doUnsubscribe(URL url, NotifyListener listener);
    static class Holder {