高峰之巅 发表于 2018-11-30 08:00:47

不能误导人!ClassNotFoundException: com.orangefunction.tomcat.redissessions.RedisSessi

  目标:Tomcat 做集群,Session会话共享
  环境:Tomcat+redis
  互联网发达了,文章随意抄袭,也不经过自己实践,让我这个对JAVA没有任何认知的新鸟踩进了大坑,希望后者不要再踩这个坑,本文章适用于其他ClassNotFoundException错误。
  

  配置过程我就不罗列了,基本都差不多
  Github.com 官网下载tomcat-redis-session-manager 时候给出的USAGE如下:
  

  

         database="0"
         maxInactiveInterval="60"
         sessionPersistPolicies="PERSIST_POLICY_1,PERSIST_POLICY_2,.."
         sentinelMaster="SentinelMasterName"
         sentinels="sentinel-host-1:port,sentinel-host-2:port,.."/>
  

  经反复试验后,Tomcat启动时候报错ClassNotFoundException: com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve
  

  明明已经复制到$HOME/lib下了 ,为何提示找不到?解压缩包后也能发现RedisSessionHandlerValve.class,难道JDK版本有问题?真让新鸟百思不得其解!还好,搜到一篇文章关于反编译的,我们就在SHELL下输入 javap -verbose RedisSessionHandlerValve.class
  输出如下:
  public class com.radiadesign.catalina.session.RedisSessionHandlerValve extends org.apache.catalina.valves.ValveBase
  仔细比对className,有出入啊?!官网给出的尽然是错误的,修改后重新启动Tomcat,恢复正常。



页: [1]
查看完整版本: 不能误导人!ClassNotFoundException: com.orangefunction.tomcat.redissessions.RedisSessi