开发者社区> 问答> 正文

tomcat redis 存放session配置报错java.lang.NoCl?报错

环境

jdk1.7 64bit

tomcat 7

jedis2.5.2.jar

common_pool2.2.2.jar

tomcat-redis-session-manager-1.2-tomcat-7.jar

将以上3个包丢到tomcat/lib下,在context.xml 中添加

<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />
    <Manager className="com.radiadesign.catalina.session.RedisSessionManager"
        host="192.168.159.131"  <!-- 缓存服务器地址,已启动-->
        port="6379"
        database="0"
        maxInactiveInterval="60"            

配置redis共享tomcat session,

当引入common_pool2.2.2.jar 报错java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool$Config

当引入common_pool1.6.jar 报错java.lang.NoClassDefFoundError: org/apache/commons/pool2/impl/GenericObjectPoolConfig

我查看了jar包的源码,common_pool2.2.2.jar 没有包名为impl的包,common_pool1.6.jar中没有pool2的包,如果同时导入两个版本的包,则会报错说是包重复,想知道到期是怎么回事,困扰了好几天了。 从linux到window,jdk的各个版本  jedis、common-pool的各个版本都试过了。都有这个问题。 求高手支援,在线等!




展开
收起
爱吃鱼的程序员 2020-06-14 20:02:02 1100 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    我暂时是用的jedis-2.1.0.jar commons-pool-1.6.jarcommons-pool2-2.1.jar



    没sessionid了?回复 @char1st:sessionid奇迹般的出现了一次存在了redis服务器。页面刷新了几次就没了。。怎么个情况?回复 @char1st:稍等跟踪中应该是不需要的。回复 @char1st:是否在工程中也需要导入redis相应的jar? 用这个JedisPoolConfig,不用 GenericObjectPoolConfig,我现在这样就可以使用问题是否解决?这个库是用gradle打包的,需要把你使用的tomcat库,jedis库,commons-pool库准备好,重新编译打包之后即可

    引用来自“哈哈_2015”的评论

    这个库是用gradle打包的,需要把你使用的tomcat库,jedis库,commons-pool库准备好,重新编译打包之后即可我同样的问题,求解决。

    引用来自“哈哈_2015”的评论

    这个库是用gradle打包的,需要把你使用的tomcat库,jedis库,commons-pool库准备好,重新编译打包之后即可

    引用来自“micical”的评论

    我同样的问题,求解决。官方下载的jar确实有bug,找到源代码,重新编译一下就行。源代码没什么要改的,直接gradlejar就好。
    2020-06-14 20:02:20
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
基于Java容器的多应用部署技术实践 立即下载
从《阿里巴巴Java开发手册》编写推广谈技术成长 立即下载
如何通过 Serverless 提高 Java 微服务治理效 立即下载