文档首页/ 应用管理与运维平台 ServiceStage/ 常见问题/ 应用开发问题/ 如何解决微服务应用开发过程中微服务开发框架同netty版本不匹配的问题?
更新时间:2023-07-11 GMT+08:00

如何解决微服务应用开发过程中微服务开发框架同netty版本不匹配的问题?

问题描述

开发微服务应用时,运行日志提示如下错误:

"Caused by: java.lang.NoSuchMethodError: io.netty.handler.codec.http.websocketx.WebSocketClientHandshakerFactory.newHandshaker(Ljava/net/URI;Lio/netty/handler/codec/http/websocketx/WebSocketVersion;Ljava/lang/String;ZLio/netty/handler/codec/http/HttpHeaders;IZZJ)Lio/netty/handler/codec/http/websocketx/WebSocketClientHandshaker;"

原因分析

通常是由于某个第三方软件引入了不匹配的版本依赖。

解决方法

可在开发环境下使用mvn dependency:tree命令查看依赖树,排查微服务开发框架同netty版本是否匹配。

例如,ServiceComb 2.0.1开发框架所匹配的netty依赖版本为4.1.45.Final。

使用maven管理复杂依赖关系,请参考:https://servicecomb.apache.org/cn/docs/maven_dependency_management/