dubbo：3.0.8
dubbo-serialization-kryo：1.0.0
在序列化拓展包中没有排除dubbo-common模块导致项目启动报错
<dependency>
    <groupId>org.apache.dubbo.extensions</groupId>
    <artifactId>dubbo-serialization-kryo</artifactId>
    <exclusions>
        <!-- 这里存在一个引包bug,引入的是3.0.6的dubbo-coomon包导致项目启动不起来 而我当前使用的dubbo版本是3.0.8 -->
        <exclusion>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-common</artifactId>
        </exclusion>
    </exclusions>
</dependency>

经过上面的方式排除依赖后，项目才正常启动。

还有一个疑问，我采取dubbo协议时，optimizer指定的类被加载了，但是换成tri协议却不加载请问这是什么原因？
  # 协议名称
  name: tri
  # 序列化配置
  serialization: kryo
  # 序列化对象配置实现
  optimizer: com.grain.pay.service.api.serialization.SerializationOptimizerImpl
@Override
    public <T> Invoker<T> refer(Class<T> type, URL url) throws RpcException {
        ExecutorService streamExecutor = getOrCreateStreamExecutor(
            url.getOrDefaultApplicationModel());
        TripleInvoker<T> invoker = new TripleInvoker<>(type, url, acceptEncodings,
            connectionManager, invokers, streamExecutor);
        invokers.add(invoker);
        return invoker;
    }
    private ExecutorService getOrCreateStreamExecutor(ApplicationModel applicationModel) {
        ExecutorService executor = applicationModel.getExtensionLoader(ExecutorRepository.class)
            .getDefaultExtension()
            .createExecutorIfAbsent(THREAD_POOL_URL);
        Objects.requireNonNull(executor,
            String.format("No available executor found in %s", THREAD_POOL_URL));
        return executor;
    }
    @Override
    protected <T> Invoker<T> protocolBindingRefer(Class<T> type, URL url) throws RpcException {
        return null;
    }
    @Override
    public void destroy() {
        if (logger.isInfoEnabled()) {
            logger.info("Destroying protocol [" + this.getClass().getSimpleName() + "] ...");
        }
        PortUnificationExchanger.close();
        pathResolver.destroy();
        super.destroy();
    }