当前位置: 首页 > 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.lryc.cn/news/626810.html

相关文章:

  • pip 安装常见错误及实例化解决办法大全
  • Tomcat部署与HTTP协议详解
  • 凸问题-非凸问题-非凸模型
  • 第十四届“中国软件杯”大赛晋级现场总决赛名单公布
  • PyTorch API 6
  • 单片机通信协议核心关系梳理笔记(UART/USART/232/485/SPI/12C/LIN/BLE/WIFI)
  • Spring Boot 3.4.x 性能优化实战:用 Undertow 替换 Tomcat 全指南​
  • JavaScript 性能优化实战:从原理到落地的完整指南
  • 【OneAI】使用Rust构建的轻量AI网关
  • 【Axure高保真原型】拖拉拽画圆
  • JavaScript 性能优化实战(易懂版)
  • 实验8.20
  • LeetCode 刷题【47. 全排列 II】
  • 一种融合AI与OCR的施工许可证识别技术,提升工程监管效率,实现自动化、精准化处理。
  • 【解决方案】powershell自动连接夜神adb端口
  • 深入解析RAGFlow六阶段架构
  • 结合SAT-3D,运动+饮食双重养腰新方式
  • 十二,数据结构-链表
  • Linux用30秒部署Nginx+Tomcat+Mysql+Jdk1.8环境
  • 学习嵌入式的第二十二天——数据结构——双向链表
  • 为6G和超快光谱铺路,《Nature Communications》发布新型太赫兹光芯片,实现多通道信号操纵
  • AI 效应: GPT-6,“用户真正想要的是记忆”
  • 书籍推荐|《Computational Methods for Rational Drug Design》574页
  • React响应式链路
  • CAMEL-Task1-CAMEL环境配置及你的第一个Agent
  • uniapp学习【上手篇】
  • CF每日4题(1500-1700)
  • 基于单片机水质检测系统/污水监测系统/水情监测
  • HTTP的协议
  • Git Commit 提交信息标准格式