【发布时间】:2016-10-20 10:24:53
【问题描述】:
我面临以下问题。使用已编译的软件,我尝试在 Tomcat 8 而不是 Tomcat 7 上启动它。解决了一些小问题后,我陷入了困境:
org.springframework.beans.factory.BeanCreationException: 使用名称创建 bean 时出错... init 方法调用失败;嵌套异常是 java.lang.IncompatibleClassChangeError: Found class org.objectweb.asm.AnnotationVisitor, but interface is expected
看了一圈,好像是来自 Spring 版本的差异。麻烦的是我根本没有接触这里的应用程序。 Tomcat 7 和 Tomcat 8 启动完全相同的程序。
能否请教您解决问题的建议?
【问题讨论】:
-
类加载顺序可能会在不同版本之间发生变化。显然,您的应用程序中混合了 jars。
-
感谢您对此进行调查。你将如何开始跟踪它。混合 jars 意味着指向不同的 Spring 还是什么?
-
是的...检查您的依赖项(最终在战争中结束的实际依赖项)。
-
我现在前进了一步。您的提示使我更接近解决方案,谢谢!我不再有这个错误,但由于我不知道的原因,应用程序还没有正常启动。一旦我知道出了什么问题,我会在这里分享经验。
标签: spring migration tomcat7 tomcat8