博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC使用Jedis发布后提示java.lang.ClassNotFoundException: redis.clients.jedis.Jedis问题
阅读量:4031 次
发布时间:2019-05-24

本文共 9792 字,大约阅读时间需要 32 分钟。

开发工具:MyEclipse 2017 CI 10

环境 :jdk 1.8 , Spring 4.1  , Jedis 2.10

问题代码:

package com.scott.springmvc.restcontroller;import org.springframework.web.bind.annotation.RequestMapping;import com.util.RedisUtil;import org.springframework.web.bind.annotation.*;import redis.clients.jedis.Jedis;@RestControllerpublic class Buy {    private Jedis redis = null;		@RequestMapping("/GetRedis")	public String GetRedisByKey(String key){		redis = RedisUtil.getJedis();		System.out.println("Get data from Redis");		return redis.get(key);	}}

发布到MyEclipse tomcat 8.5后,调用提示

严重: StandardWrapper.Throwablejava.lang.NoClassDefFoundError: Lredis/clients/jedis/Jedis;	at java.lang.Class.getDeclaredFields0(Native Method)	at java.lang.Class.privateGetDeclaredFields(Unknown Source)	at java.lang.Class.getDeclaredFields(Unknown Source)	at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.findResourceMetadata(CommonAnnotationBeanPostProcessor.java:328)	at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(CommonAnnotationBeanPostProcessor.java:284)	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:924)	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513)	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:229)	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:725)	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757)	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)	at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:658)	at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:624)	at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:672)	at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:543)	at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:484)	at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)	at javax.servlet.GenericServlet.init(GenericServlet.java:158)	at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1183)	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1099)	at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:779)	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783)	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:789)	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1437)	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)	at java.lang.Thread.run(Unknown Source)Caused by: java.lang.ClassNotFoundException: redis.clients.jedis.Jedis	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1285)	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)	... 42 more五月 14, 2020 4:10:54 下午 org.apache.catalina.core.StandardWrapperValve invoke严重: Allocate exception for servlet dispatcherjava.lang.ClassNotFoundException: redis.clients.jedis.Jedis	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1285)	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)	at java.lang.Class.getDeclaredFields0(Native Method)	at java.lang.Class.privateGetDeclaredFields(Unknown Source)	at java.lang.Class.getDeclaredFields(Unknown Source)	at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.findResourceMetadata(CommonAnnotationBeanPostProcessor.java:328)	at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(CommonAnnotationBeanPostProcessor.java:284)	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:924)	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513)	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:229)	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:725)	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757)	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)	at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:658)	at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:624)	at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:672)	at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:543)	at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:484)	at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)	at javax.servlet.GenericServlet.init(GenericServlet.java:158)	at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1183)	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1099)	at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:779)	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783)	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:789)	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1437)	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)	at java.lang.Thread.run(Unknown Source)

 上网查询有关java.lang.ClassNotFoundException: redis.clients.jedis.Jedis的问题,或是有关SpringMVC使用使用Jedis的问题(因为本人初次使用SpringMVC和Jedis,所以这么查了),多数提到org.springframework.data及其各种配置方法,经过各种尝试,换版本,问题依旧,突然想到生成没错,也可以成功发布,只是调用出错,说明项目引用没问题,会不会是jedis-2.10.0.jar这个文件没发布到tomcat呢。更改下发布属性试试

右键项目属性

把引部jar文件添加到这列表,重新发布。 重新调用上述代码中的方法,MyEclipse Console   会输出F4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".的信息,应该是少某个引用,不过上述错误信息没有,访问Redis也没有问题了。java.lang.ClassNotFoundException: redis.clients.jedis.Jedis 这个问题终于解决。

 

转载地址:http://fgqbi.baihongyu.com/

你可能感兴趣的文章
java反编译命令
查看>>
activemq依赖包获取
查看>>
概念区别
查看>>
关于静态块、静态属性、构造块、构造方法的执行顺序
查看>>
final 的作用
查看>>
在Idea中使用Eclipse编译器
查看>>
idea讲web项目部署到tomcat,热部署
查看>>
优化IDEA启动速度,快了好多。后面有什么优化点,会继续往里面添加
查看>>
JMeter 保持sessionId
查看>>
IDEA Properties中文unicode转码问题
查看>>
Idea下安装Lombok插件
查看>>
zookeeper
查看>>
Idea导入的工程看不到src等代码
查看>>
技术栈
查看>>
Jenkins中shell-script执行报错sh: line 2: npm: command not found
查看>>
8.X版本的node打包时,gulp命令报错 require.extensions.hasownproperty
查看>>
Jenkins 启动命令
查看>>
Maven项目版本继承 – 我必须指定父版本?
查看>>
Maven跳过单元测试的两种方式
查看>>
通过C++反射实现C++与任意脚本(lua、js等)的交互(二)
查看>>