Easymock3 Spring4.0.0.RELEASE cglib兼容性

时间:2014-02-13 13:14:09

标签: java spring-aop easymock cglib

我按照here给出的建议尝试使用spring aop启用方法进行单元测试。但是,我怀疑spring-core下的重新打包的cglib类和cglib-nodep-2.2.jar相互冲突,导致我的类代理被类加载器加载两次。这会导致以下错误:

Caused by: java.lang.LinkageError: loader (instance of  sun/misc/Launcher$AppClassLoader): attempted  duplicate class definition for name:

工具

  1. easmock-3.0(使用cglib-nodep-2.2.jar传递依赖)
  2. spring-x-4.0.0.RELEASE(带有重新打包的版本?类的cglib)
  3. 的junit-4.8.1
  4. 排除传递cglib-nodep依赖性显然没有帮助 - 包括非sring-aop的所有测试也开始失败。

    我也尝试了here发布的答案:在再次运行测试之前清理目标文件夹但没有成功。

    这个问题真的是因为cglib版本的冲突,就像我认为的那样吗?如果是这样,那么我应该使用的正确版本会停止加载我的课程两次。

1 个答案:

答案 0 :(得分:0)

<properties>
    <java.version>1.7</java.version>
    <spring.version>4.0.3.RELEASE</spring.version>
    <cglib.version>2.2.2</cglib.version>
</properties>