Spring-java.lang.NoSuchMethodError:org.springframework.web.accept.ContentNegotiationManager.getStrategies()Ljava/util/List;?

Spring-java.lang.NoSuchMethodError:org.springframework.web.accept.ContentNegotiationManager.getStrategies()Ljava/util/List;?,spring,maven,spring-mvc,Spring,Maven,Spring Mvc,将我的pom.xml更新为使用Springframework版本4.2.3(从4.1.2开始)后,应用程序无法启动 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter': Invocation of init

将我的pom.xml更新为使用Springframework版本4.2.3(从4.1.2开始)后,应用程序无法启动

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter': Invocation of init method failed; nested except
ion is java.lang.NoSuchMethodError: org.springframework.web.accept.ContentNegotiationManager.getStrategies()Ljava/util/List;
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:838)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:537)
    at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:667)
    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:633)
    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:681)
    at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:552)
    at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:493)
    at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
    at javax.servlet.GenericServlet.init(GenericServlet.java:160)
我尝试过Maven清理、重建等,但错误依然存在


我怀疑某个地方有个旧罐子,但在哪里

您的lib中很可能有一个旧版本的spring-web-4.X.X.RELEASE.jar文件。只需检查是否可以粘贴pom.xml。我唯一能想到的是你还没有更新所有的spring库。在这种情况下是SpringWeb。最有可能的情况是,您有一个旧版本的spring库作为一个可传递的依赖项被拉入。您应该使用新的Spring4物料清单功能来管理依赖项,因为它将完全防止此类问题。看:我不得不使用核选项。删除我的本地Maven repo(.m2文件夹),然后对所有项目进行全面清理/重建,并重置Tomcat部署,解决了这个问题。对我来说,这篇核心评论是一个很好的提示,尽管我没有吹掉我的本地Maven repo。在Eclipse中,我右键单击Tomcat服务器并选择“Clean…”选项,然后启动Tomcat备份。在那之后工作得很好。@Nilesh这和mariateresa说的有关。假设您部署了jar的4.0.0版本,然后部署了4.0.1。有时,在tomcat部署中,两个JAR都会出现,因为旧的JAR由于某种原因没有得到清理。现在,如果您需要4.0.1中的某些内容,但tomcat首先加载4.0.0,那么您将得到此NoSuchMethodError。因此需要“清洁…”