- [ ] I have searched the [issues](https://github.com/apache/dubbo/issues) of this repository and believe that this is not a duplicate.
- [ ] 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.4.1
* Java version: 1.8

### Actual Result

[https://github.com/apache/dubbo/blob/839d2a604e629ea9e96b964be09ae221e85312ba/dubbo-common/src/main/java/org/apache/dubbo/common/Version.java#L175](https://github.com/apache/dubbo/blob/839d2a604e629ea9e96b964be09ae221e85312ba/dubbo-common/src/main/java/org/apache/dubbo/common/Version.java#L175)

### Expected Result

```
guess version from jar file name if nothing's found from MANIFEST.MF
```
 **fro ==> from**




int v = 0;
        String[] vArr = version.split("\\.");
        int len = vArr.length;
        for (int i = 0; i < len; i++) {
            v += Integer.parseInt(getPrefixDigits(vArr[i])) * Math.pow(10, (len - i - 1) * 2);
        }
        return v;
    }
    /**
     * get prefix digits from given version string
     */
    private static String getPrefixDigits(String v) {
        Matcher matcher = PREFIX_DIGITS_PATTERN.matcher(v);
        if (matcher.find()) {
            return matcher.group(1);
        }
        return "";
    }
    public static String getVersion(Class<?> cls, String defaultVersion) {
        try {
            
            Package pkg = cls.getPackage();
            String version = null;
            if (pkg != null) {
                version = pkg.getImplementationVersion();
                if (StringUtils.isNotEmpty(version)) {
                    return version;
                }
                version = pkg.getSpecificationVersion();
                if (StringUtils.isNotEmpty(version)) {