问题
I want to add EasyMock Class Extension 3.1 to my project and I have a problem with dependencies of EasyMock 3.1 CE. I add dependencies : cglib-2.2.2.jar and asm-4.0.jar and throws exception :
java.lang.VerifyError: class net.sf.cglib.core.DebuggingClassWriter overrides final method visit.(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
When I use cglib-nodep-2.1_3.jar and asm-4.0.jar throws another exception:
java.lang.NoClassDefFoundError: org/objenesis/ObjenesisHelper
at org.easymock.internal.ObjenesisClassInstantiator.newInstance(ObjenesisClassInstantiator.java:26)
at org.easymock.internal.ClassProxyFactory.createProxy(ClassProxyFactory.java:219)
at org.easymock.internal.MocksControl.createMock(MocksControl.java:70)
How do I configure EasyMock Class Extension 3.1? What dependencies do I need to use?
回答1:
Easymock extension 3.1 depends upon easymock 3.1, the dependencies are:
- cglib: cglib-nodep 2.2.2
- org.objenesis: objenesis 1.2
from Maven Easymock.
If you're using maven, then the following dependency will work:
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymockclassextension</artifactId>
<version>3.1</version>
</dependency>
回答2:
From version 3.0 there is no longer any need to import classextension. Simply do search and replace of all org.easymock.classextension.*
with org.easymock.*
and just import the "plain" easymock dependency (see the EasyMock 3.0 doc):
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>3.1</version>
</dependency>
Moreover, if you use Maven, you can use the command
mvn dependency:tree
to see all dependencies (transitive as well as non-transitive).
来源:https://stackoverflow.com/questions/8258797/how-configure-easymock-class-extension-3-1