web应用集成jedis报错java.lang.NoClassDefFoundError
最近搞了一个项目需要使用redis,但是使用过程中各种错,希望各位帮忙指点一下。
因为是java web项目,所以选用jedis
先描述一下背景:现有的框架用springmvc,集成了mybatis,shiro,memcached
1.选用的包有:jedis-2.7.3.jar,commons-pool2-2.4.2.jar
2.我写了一个JedisUtil,用于得到JedisPool,具体内容如下:
public class JedisUtil {
private static JedisPool jedisPool = null;
public static JedisPool getJedisPool(){
if(jedisPool == null){
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxIdle(5);
config.setMaxWaitMillis(1000*1000);
config.setTestOnBorrow(true);
jedisPool = new JedisPool(config, Global.getConfig("redis.host"),Integer.parseInt(Global.getConfig("redis.port")));
}
return jedisPool;
}
}
3.我写了一个TEST类,用Run as->java application运行,没有问题,这个测试类如下:
public class JestTest {
public static void main(String [] args){
Jedis jedis = JedisUtil.getJedisPool().getResource();
jedis.set("B", "bbb");
System.out.println(jedis.get("B"));
}
}
但是我在启动web项目后,再使用getResource方法就报错了!
错误如下:
java.lang.NoClassDefFoundError: redis/clients/jedis/JedisPoolConfig
Caused by: java.lang.ClassNotFoundException: redis.clients.jedis.JedisPoolConfig
我又检查了我的,应该是没有什么问题啊,源码也不报错,就是跑起来运行时,就各种错,我也各种百度了,没有查到相关信息,特来求助。
各位遇到过这样问题的或者知道如何解决的请指教一下!!
先谢谢各位了!