Maven项目平台运行没问题,打包后运行提示缺少Jedis包

我最近使用IDEA 创建了一个Maven项目,使用Jedis包操作Redis数据库,部署后用bat文件来启动时 错误内容如下:

Exception in thread "Thread-6" java.lang.NoClassDefFoundError: redis/clients/jedis/Jedis
        at iRedisOperator.ConnRedis(iRedisOperator.java:20)
        at iSiloInfoArchiver.run(iSiloInfoArchiver.java:60)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: redis.clients.jedis.Jedis
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 3 more

依赖如下:

        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
           <version>3.3.0</version>
        </dependency>

打包的时候已经将jedis包导入到out中,截图如下:

img

img

不管怎么弄都还是上面那个错误。请各位专家帮忙看一下
在线等待,快速解决还有酬谢

你可以排查一下 redis IP 账户 密码 是否配置正确

建议更换redis包版本😏
https://blog.csdn.net/weixin_42629535/article/details/86485674

你看一下你的External Libraries 中有没有这个jar包。

看你pom文件中是否有导入spring-boot-starter-data-redis 这个jar,如果存在就会和你的jedis冲突
要么直接用spring的redis,要么在spring redis下加入


<exclusions>
            <exclusion>
                <groupId>io.lettuce</groupId>
                <artifactId>lettuce-core</artifactId>
            </exclusion>
        </exclusions>

问题已解决,谢谢各位的帮忙
我的解决思路是:1、这个错误跟版本没有关系。用的还是Jedis3.3.0,也没有使用依赖spring-boot-starter-data-redis
2、经过各种验证,最终得到的结论是因为IDE在Rebuild Project时,自动生成的信息有2各问题:
第一个如下图:

img


上图中的 Jedis的版本不会变,一定要手动改了跟实际依赖一致。
第二个问题如下图:

img


上图中的Jedis-3.3.0.jar直接就没有。我也不知道这两个MANIFEST.MF有什么用,于是我就手动在Resources下的这个MF文件中添加了jedis-3.3.0.jar。

再Rebuild Project
然后我在IDE平台下试运行,运行正常。
我又使用bat启动服务。此时正常。因此我断定 是因为自动生成的信息有遗漏导致。
做此恢复,希望能榜上跟我一样受困扰了几天的朋友。