我已经使用 spring-mvc 和 mongodb 作为数据库构建了一个 Web 应用程序。我使用 maven3 构建应用程序。
项目构建成功,但是当应用程序启动时,我在日志中收到以下错误,因为我的应用程序没有启动。这曾经在几个月前有效。
Caused by: java.lang.IncompatibleClassChangeError: class org.springframework.core.type.classreading.ClassMetadataReadingVisitor has interface org.springframework.asm.ClassVisitor as super class
如果有任何指示或需要更多信息,请告诉我。
最佳答案
当加载的类即ClassMetadataReadingVisitor
不遵守继承的抽象类或接口(interface)即ClassVisitor
的约定时会发生此错误。
看起来在加载时上述类的不同版本正在您的案例中加载。
您的应用程序中似乎有新的 spring-core jar 和旧的 spring-asm jar。 ClassMetadataReadingVisitor
类正在从 spring-core 加载,ClassVisitor
从 spring-asm 加载。
请使用 maven dependency:tree
命令查看依赖的 jars。
关于java - 不兼容的ClassChangeError : class ClassMetadataReadingVisitor has interface ClassVisitor as super class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16209623/