cglib-src-2.2.2.jar contains a version of the interface net.sf.cglib.proxy.CallbackGenerator.Context that includes the emitInvoke method.
The corresponding class files in cglib-2.2.2.jar and cglib-nodep-2.2.2.jar are based on an older version of CallbackGenerator.java that lacks this method.
Details:
$javap -classpath cglib-2.2.2.jar net.sf.cglib.proxy.CallbackGenerator.Context
Compiled from "CallbackGenerator.java"
public interface net.sf.cglib.proxy.CallbackGenerator$Context{
public abstract java.lang.ClassLoader getClassLoader();
public abstract net.sf.cglib.core.CodeEmitter beginMethod(net.sf.cglib.core.ClassEmitter, net.sf.cglib.core.MethodInfo);
public abstract int getOriginalModifiers(net.sf.cglib.core.MethodInfo);
public abstract int getIndex(net.sf.cglib.core.MethodInfo);
public abstract void emitCallback(net.sf.cglib.core.CodeEmitter, int);
public abstract net.sf.cglib.core.Signature getImplSignature(net.sf.cglib.core.MethodInfo);
}
$javap -classpath cglib-nodep-2.2.2.jar net.sf.cglib.proxy.CallbackGenerator.Context
Compiled from "CallbackGenerator.java"
public interface net.sf.cglib.proxy.CallbackGenerator$Context{
public abstract java.lang.ClassLoader getClassLoader();
public abstract net.sf.cglib.core.CodeEmitter beginMethod(net.sf.cglib.core.ClassEmitter, net.sf.cglib.core.MethodInfo);
public abstract int getOriginalModifiers(net.sf.cglib.core.MethodInfo);
public abstract int getIndex(net.sf.cglib.core.MethodInfo);
public abstract void emitCallback(net.sf.cglib.core.CodeEmitter, int);
public abstract net.sf.cglib.core.Signature getImplSignature(net.sf.cglib.core.MethodInfo);
}
This must be a Java problem. The CallbackGenerator$Context.class file contains the method definition. Javap shows it when looking directly at that file (classpath = .), but it fails to show it when searching the JAR file or the unpacked JAR file.