Currently dubbo support java6, java7 and java8.

All unit test pass in java9, we should consider add official support for java9 and even java10.
Currently travis support java9. java10 is in progress (https://github.com/travis-ci/travis-ci/issues/9368)

As discussed in mail list, the first step is to add java9 in travis ci.
switch (desc.charAt(0)) {
            case JVM_VOID:
                return void.class;
            case JVM_BOOLEAN:
                return boolean.class;
            case JVM_BYTE:
                return byte.class;
            case JVM_CHAR:
                return char.class;
            case JVM_DOUBLE:
                return double.class;
            case JVM_FLOAT:
                return float.class;
            case JVM_INT:
                return int.class;
            case JVM_LONG:
                return long.class;
            case JVM_SHORT:
                return short.class;
            case 'L':
                desc = desc.substring(1, desc.length() - 1).replace('/', '.'); 
                break;
            case '[':
                desc = desc.replace('/', '.');  
                break;
            default:
                throw new ClassNotFoundException("Class not found: " + desc);
        }
        if (cl == null)
            cl = ClassHelper.getClassLoader();