使用dubbo2.7.5版本时，我同样也出现了这个问题：
```
java.lang.NullPointerException: null
	at org.apache.dubbo.registry.integration.RegistryProtocol.register(RegistryProtocol.java:178) ~[dubbo-2.7.5.jar:2.7.5]
	at org.apache.dubbo.registry.integration.RegistryProtocol.export(RegistryProtocol.java:209) ~[dubbo-2.7.5.jar:2.7.5]
	at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.export(ProtocolListenerWrapper.java:60) ~[dubbo-2.7.5.jar:2.7.5]
	at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper.export(ProtocolFilterWrapper.java:143) ~[dubbo-2.7.5.jar:2.7.5]
	at org.apache.dubbo.qos.protocol.QosProtocolWrapper.export(QosProtocolWrapper.java:64) ~[dubbo-2.7.5.jar:2.7.5]
	at org.apache.dubbo.rpc.Protocol$Adaptive.export(Protocol$Adaptive.java) ~[dubbo-2.7.5.jar:2.7.5]
	at org.apache.dubbo.config.ServiceConfig.doExportUrlsFor1Protocol(ServiceConfig.java:470) ~[dubbo-2.7.5.jar:2.7.5]
	at org.apache.dubbo.config.ServiceConfig.doExportUrls(ServiceConfig.java:315) ~[dubbo-2.7.5.jar:2.7.5]
	at org.apache.dubbo.config.ServiceConfig.doExport(ServiceConfig.java:287) ~[dubbo-2.7.5.jar:2.7.5]
	at org.apache.dubbo.config.ServiceConfig.export(ServiceConfig.java:205) ~[dubbo-2.7.5.jar:2.7.5]
```
阅读了源码，发现是因为在ServiceRepository类中providers写入提供者信息时没有获取到版本号，写入的Key值也是不带版本号，但是ApplicationModel.getProviderModel(registeredProviderUrl.getServiceKey());获取ProviderModel时，registeredProviderUrl.getServiceKey()是带有版本号值，导致无法从ServiceRepository类中的providers中获取数据而报错。
dubbo以前支持dubbo.provider.version=xxx的方式配置默认版本号，这样就可以不用在xml配置文件或者使用注解时手动指定服务版本。2.7.5版本更新进行改造后该功能缺失引发上述错误，只需要在xml配置文件或使用@Service注解时指定服务版本号version即可。不过还是希望保留该特性以更好的向下兼容。
MetadataReportInstance.init(metadataReportConfig.toUrl());
    }
    /**
     * For compatibility purpose, use registry as the default config center when the registry protocol is zookeeper and
     * there's no config center specified explicitly.
     */
    private void useRegistryAsConfigCenterIfNecessary() {
        
        if (environment.getDynamicConfiguration().isPresent()) {
            return;
        }
        if (CollectionUtils.isNotEmpty(configManager.getConfigCenters())) {
            return;
        }
        configManager.getDefaultRegistries().stream()
                .filter(registryConfig -> registryConfig.getUseAsConfigCenter() == null || registryConfig.getUseAsConfigCenter())
                .forEach(registryConfig -> {
                    String protocol = registryConfig.getProtocol();
                    String id = "config-center-" + protocol + "-" + registryConfig.getPort();
                    ConfigCenterConfig cc = new ConfigCenterConfig();
                    cc.setId(id);
                    if (cc.getParameters() == null) {
                        cc.setParameters(new HashMap<>());
                    }
                    if (registryConfig.getParameters() != null) {
                        cc.getParameters().putAll(registryConfig.getParameters());
                    }
                    cc.getParameters().put(CLIENT_KEY, registryConfig.getClient());
                    cc.setProtocol(registryConfig.getProtocol());
                    cc.setAddress(registryConfig.getAddress());