当前位置: 首页 > news >正文

Redisson最新版本(3.50.0左右)启动时提示Netty的某些类找不到

文章目录

  • 一、写在前面
  • 二、解决方案
    • 1、解决方案
    • 2、一劳永逸
    • 3、确定redisson依赖netty的版本

一、写在前面

Redisson最新版本,大概3.47.0,在JDK8环境下(实测JDK17也一样)会提示Netty的某些类找不到:

Exception in thread "main" java.lang.NoClassDefFoundError: io/netty/channel/unix/DomainSocketChannelat org.redisson.client.RedisClient.createBootstrap(RedisClient.java:142)at org.redisson.client.RedisClient.<init>(RedisClient.java:127)at org.redisson.client.RedisClient.create(RedisClient.java:84)at org.redisson.connection.MasterSlaveConnectionManager.createClient(MasterSlaveConnectionManager.java:341)at org.redisson.connection.MasterSlaveConnectionManager.connectToNode(MasterSlaveConnectionManager.java:121)at org.redisson.connection.MasterSlaveConnectionManager.connectToNode(MasterSlaveConnectionManager.java:108)at org.redisson.connection.ClusterConnectionManager.doConnect(ClusterConnectionManager.java:97)at org.redisson.connection.MasterSlaveConnectionManager.connect(MasterSlaveConnectionManager.java:188)at org.redisson.connection.ConnectionManager.create(ConnectionManager.java:98)at org.redisson.Redisson.<init>(Redisson.java:76)at org.redisson.Redisson.create(Redisson.java:119)at com.demo.springbootdemo.SpringbootDemoApplication.main(SpringbootDemoApplication.java:25)
Caused by: java.lang.ClassNotFoundException: io.netty.channel.unix.DomainSocketChannelat java.net.URLClassLoader.findClass(URLClassLoader.java:387)at java.lang.ClassLoader.loadClass(ClassLoader.java:418)at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)at java.lang.ClassLoader.loadClass(ClassLoader.java:351)... 12 more

二、解决方案

1、解决方案

是因为缺少 Netty 相关的 Unix 域套接字依赖包。

Netty 的 Unix 域套接字支持位于独立的 netty-transport-native-unix-common 包中,而 Redisson 某些功能(如对 Unix 域套接字的支持)依赖于此包。解决方法是在项目依赖中添加对应的 Netty 原生传输包。
如果是 Maven 项目,可添加以下依赖:

<dependency><groupId>io.netty</groupId><artifactId>netty-transport-native-unix-common</artifactId><version>4.1.77.Final</version> <!-- 版本需与Redisson依赖的Netty版本匹配 -->
</dependency>

如果是 Gradle 项目,可添加:

implementation 'io.netty:netty-transport-native-unix-common:4.1.77.Final'

注意:Netty 版本需要与 Redisson 3.50.0 所依赖的 Netty 版本保持一致(Redisson 3.50.0 通常依赖 Netty 4.1.77 系列),建议通过查看项目依赖树确认具体版本后再添加,避免版本冲突。

2、一劳永逸

如果报错不是提示这个错误,而是别的类找不到,可以考虑直接引入netty-all

        <dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId><version>4.1.77.Final</version></dependency>

一定要注意netty的版本!!!

3、确定redisson依赖netty的版本

在这里插入图片描述

http://www.dtcms.com/a/341712.html

相关文章:

  • PowerShell脚本检查业务健康状态
  • 解决Docker 无法连接到官方镜像仓库
  • Lecture 6 Kernels, Triton 课程笔记
  • JVM基础知识总结
  • Docker 核心技术:Linux Cgroups
  • GDB 的多线程调试
  • 针对具有下垂控制光伏逆变器的主动配电网络的多目标分层协调电压/无功控制方法的复现
  • 音频读写速度优化 音频格式
  • Transformer内容详解(通透版)
  • pip install -e中e 参数解释
  • 八辊矫平机·第三篇
  • 卸载win10/win11系统里导致磁盘故障的补丁
  • 广东省省考备考(第八十二天8.20)——资料分析、数量、言语(强化训练)
  • 【蒸蒸日上】军八武将篇——标1
  • 8 webUI中-Controlnet(控制与约束)的应用分类与使用方法
  • 【语法】markdown非常用场景
  • Netty HashedWheelTimer设计原理:从时间轮算法到源码实现
  • 跨平台 RTSP/RTMP 播放器工程化实践:低延迟与高稳定性的挑战与突破
  • 【数据分享】东北大鼠疫传播与死亡空间数据
  • Vue透传 Attributes(详细解析)2
  • 恶补DSP:2.F28335的定时器系统
  • 买返商城网站源码多平台购物返现搭建图解源码二开
  • 万象生鲜配送系统 2025 年 8 月 15 日更新日志
  • 八月月报丨MaxKB在教育及教学科研领域的应用进展
  • Hadoop学习
  • 达梦数据库-实时主备集群部署详解(附图文)手工搭建一主一备数据守护集群DW
  • HyDE vs HyPE:AI检索界的‘假想敌’革命,如何让RAG系统从‘找资料’变成‘懂你心’?”
  • Firefox 142 引入 CRLite 用于私有证书撤销
  • 【AI应用】部署AI向量数据库Milvus
  • Oracle:配置让插入语句时id自动输入