我写了一个代理类基本内容如下:public class ActiveRecordProxy implements MethodInterceptor{
    private Enhancer enhancer;
    private Object target;
    
    public ActiveRecordProxy(){
      enhancer = new Enhancer();
      target = null;
    }
    @SuppressWarnings("unchecked")
    public <E> E getProxyObject(Class<E> clasz){
        enhancer.setSuperclass(clasz);
        enhancer.setCallback(this);
        Object obj = enhancer.create();
        return (E)obj;
    }
    
}
可是当在查询数据库调用该类的时候:ActiveRecordProxy proxy = new ActiveRecordProxy();抛了异常。
我debug跟下去看到当执行到代码里面的 enhancer = new Enhancer();时抛了异常。
抛出的异常如下:java.lang.ClassCastException: net.sf.cglib.proxy.Enhancer$EnhancerKey$$KeyFactoryByCGLIB$$7fb24d72 cannot be cast to net.sf.cglib.core.KeyFactory
at net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java:145)
at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:117)
at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:108)
at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:104)
at net.sf.cglib.proxy.Enhancer.<clinit>(Enhancer.java:69)
at com.et.ar.ActiveRecordProxy.<init>(ActiveRecordProxy.java:16)
at com.et.ar.DaoSupport.select(DaoSupport.java:281)问题很奇怪,在我自己的电脑上是完全正确的,但是我把它转移到公司电脑上的时候就出现了这个问题。
哪位高人能帮助指点一下,小弟万分感激。