如何解决" NoSuchMethodError:org.apache.catalina.Container.getLoader()Lorg / apache / catalina / Loader"在tomcat-redis

时间:2016-09-27 13:21:17

标签: spring tomcat redis

27-Sep-2016 18:21:47.731 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal Context [] startup failed due to previous errors
27-Sep-2016 18:21:47.733 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /opt/apache-tomcat-8.0.37/webapps/ROOT has finished in 46 ms
27-Sep-2016 18:21:47.733 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /opt/apache-tomcat-8.0.37/webapps/host-manager
27-Sep-2016 18:21:47.735 WARNING [localhost-startStop-1] org.apache.catalina.session.ManagerBase.setMaxInactiveInterval Manager.setMaxInactiveInterval() is deprecated and calls to this method are ignored. Session timeouts should be configured in web.xml or via Context.setSessionTimeout(int timeoutInMinutes)
27-Sep-2016 18:21:47.781 INFO [localhost-startStop-1] com.orangefunction.tomcat.redissessions.RedisSessionManager.startInternal Attached to RedisSessionHandlerValve
27-Sep-2016 18:21:47.782 INFO [localhost-startStop-1] com.orangefunction.tomcat.redissessions.RedisSessionManager.initializeSerializer Attempting to use serializer :com.orangefunction.tomcat.redissessions.JavaSerializer
27-Sep-2016 18:21:47.782 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal The session manager failed to start
 org.apache.catalina.LifecycleException: Failed to start component [com.orangefunction.tomcat.redissessions.RedisSessionManager[/host-manager]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5331)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1092)
    at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1834)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoSuchMethodError: org.apache.catalina.Container.getLoader()Lorg/apache/catalina/Loader;
    at com.orangefunction.tomcat.redissessions.RedisSessionManager.initializeSerializer(RedisSessionManager.java:716)
    at com.orangefunction.tomcat.redissessions.RedisSessionManager.startInternal(RedisSessionManager.java:295)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
    ... 12 more

27-Sep-2016 18:21:47.782 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal Context [/host-manager] startup failed due to previous errors
27-Sep-2016 18:21:47.785 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /opt/apache-tomcat-8.0.37/webapps/host-manager has finished in 52 ms
27-Sep-2016 18:21:47.787 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
27-Sep-2016 18:21:47.791 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
27-Sep-2016 18:21:47.793 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 3490 ms

这是运行tomcat时终端的输出。我正确安装了redis并且它正在运行。我将jar添加到tomcat文件夹的lib并更改了context.xml中的设置,我写了这个

<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
         host="localhost"   
         port="6379"  

password="mypass" 

       database="0" 
         maxInactiveInterval="30" />

0 个答案:

没有答案