struts2-2.5.10使用struts2-convention-plugin启动后报错,求高手指教
我用maven构建一个struts2的项目,依赖如下:
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.5.10</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-convention-plugin</artifactId>
<version>2.5.10</version>
</dependency>
启动后报错信息:
java.lang.IncompatibleClassChangeError: class org.apache.struts2.convention.DefaultClassFinder$InfoBuildingVisitor has interface org.objectweb.asm.ClassVisitor as super class
看这错误信息的意思是:DefaultClassFinder$InfoBuildingVisitor 这个类把 org.objectweb.asm.ClassVisitor 这个接口当做父类来继承了,但是我看了struts2-convention-plugin-2.5.10.jar里的这个类的源码:
public class InfoBuildingVisitor extends ClassVisitor
这里它是继承了ClassVisitor这个类,但这个ClassVisitor类在asm-5.1.jar包中是个抽象类,并非接口!源码如下:
public abstract class ClassVisitor
我就很不明白为什么会包这个错误!
另外我用2.3.31版本的struts2就不会有任何问题!