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

目标:Tomcat 作集群,Session会话共享java

环境:Tomcat+redisredis

互联网发达了,文章随意抄袭,也不通过本身实践,让我这个对JAVA没有任何认知的新鸟踩进了大坑,但愿后者不要再踩这个坑,本文章适用于其余ClassNotFoundException错误。apache


配置过程我就不罗列了,基本都差很少tomcat

Github.com 官网下载tomcat-redis-session-manager 时候给出的USAGE以下:session


<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
         host="localhost" <!-- optional: defaults to "localhost" -->
         port="6379" <!-- optional: defaults to "6379" -->
         database="0" <!-- optional: defaults to "0" -->
         maxInactiveInterval="60" <!-- optional: defaults to "60" (in seconds) -->
         sessionPersistPolicies="PERSIST_POLICY_1,PERSIST_POLICY_2,.." <!-- optional -->
         sentinelMaster="SentinelMasterName" <!-- optional -->
         sentinels="sentinel-host-1:port,sentinel-host-2:port,.." <!-- optional --> />ide


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


明明已经复制到$HOME/lib下了 ,为什么提示找不到?解压缩包后也能发现RedisSessionHandlerValve.class,难道JDK版本有问题?真让新鸟百思不得其解!还好,搜到一篇文章关于反编译的,咱们就在SHELL下输入 javap -verbose RedisSessionHandlerValve.classit

输出以下:io

public class com.radiadesign.catalina.session.RedisSessionHandlerValve extends org.apache.catalina.valves.ValveBase编译

仔细比对className,有出入啊?!官网给出的尽然是错误的,修改后从新启动Tomcat,恢复正常。

相关文章
相关标签/搜索