解决java.lang.IncompatibleClassChangeError

来源:互联网 发布:知乎 如何挑选浴缸 编辑:程序博客网 时间:2024/06/07 07:10

1.在做手动实现aop编程练习的时候遇到了这个问题,从错误信息可以看出,这是因为实现了一个类,众所周知类用来继承,接口用来实现。

可以看到,Eclipse在Workspace中发现了3个这样的类,而且包名类名都完全一样。可以看到,在spring的3.1.1版本中,这个叫ClassVisitor的类其实是一个接口,这个接口被放在spring-asm模块中。而在3.2.5,这个ClassVisitor就变成了一个抽象类。


解决方案

移除springframework-core的jar包。

注意:

  1. 在添加jar包的时候,用到的包才导入,没用到包的声明要及时删掉。

  2. 在整合多个jar包的时候,要注意依赖包的版本,因为有些类(可能包含有的字段)在不同的版本中声明可能会不同,错误的类或字段声明将导致IncompatibleClassChangeError。

原创粉丝点击