How Configure EasyMock Class Extension 3.1?

两盒软妹~` 提交于 2019-12-10 09:42:20

问题


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:

  1. cglib: cglib-nodep 2.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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!