- [x] I have searched the [issues](https://github.com/apache/dubbo/issues) of this repository and believe that this is not a duplicate.
- [x] I have checked the [FAQ](https://github.com/apache/dubbo/blob/master/FAQ.md) of this repository and believe that this is not a duplicate.

### Environment

* Dubbo version: 2.7.1
* Operating System version: Windows
* Java version: 1.8

### Steps to reproduce this issue

When I config `TagRouter` like this (in Dubbo admin):

```YAML
enabled: true
force: false
runtime: false
tags:
  - name: tag1
    addresses: null
  - name: tag2
    addresses: null
```

### Actual Result

Then the `java.lang.NullPointerException` was caused

```
java.lang.NullPointerException
	at org.apache.dubbo.rpc.cluster.router.tag.model.TagRouterRule.lambda$init$2(TagRouterRule.java:55)
	at java.util.ArrayList.forEach(ArrayList.java:1257)
	at org.apache.dubbo.rpc.cluster.router.tag.model.TagRouterRule.init(TagRouterRule.java:53)
	at org.apache.dubbo.rpc.cluster.router.tag.model.TagRuleParser.parse(TagRuleParser.java:42)
```

I think we should add NPE check in `TagRouterRule` or check `addresses ` in Dubbo admin

```java
tags.forEach(tag -> {
    tagnameToAddresses.put(tag.getName(), tag.getAddresses());
   // check  tag.getAddresses() not null
    tag.getAddresses().forEach(addr -> {
        List<String> tagNames = addressToTagnames.computeIfAbsent(addr, k -> new ArrayList<>());
        tagNames.add(tag.getName());
    });
});
```


return;
        }
        tags.forEach(tag -> {
            tagnameToAddresses.put(tag.getName(), tag.getAddresses());
            tag.getAddresses().forEach(addr -> {
                List<String> tagNames = addressToTagnames.computeIfAbsent(addr, k -> new ArrayList<>());
                tagNames.add(tag.getName());
            });
        });
    }
    public List<String> getAddresses() {
        return tags.stream().flatMap(tag -> tag.getAddresses().stream()).collect(Collectors.toList());
    }
    public List<String> getTagNames() {
        return tags.stream().map(Tag::getName).collect(Collectors.toList());
    }
    public Map<String, List<String>> getAddressToTagnames() {
        return addressToTagnames;
    }
    public Map<String, List<String>> getTagnameToAddresses() {
        return tagnameToAddresses;
    }
    public List<Tag> getTags() {
        return tags;
    }
    public void setTags(List<Tag> tags) {
        this.tags = tags;
    }
}