![](/img/trans.png)
[英]org.springframework.beans.factory.annotation.InjectionMetadata.needsRefresh
[英]java.lang.NoSuchMethodError: org.springframework.beans.factory.annotation.InjectionMetadata.needsRefresh
我正在使用spring 3.2.6 RELEASE並將此登錄配置放入xml后出現錯誤:
<http auto-config="true">
<intercept-url pattern="/login.html" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
<intercept-url pattern="/loginFailed.html" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
<intercept-url pattern="/**" access="ROLE_USER"/>
<form-login login-page="/login.html" authentication-failure-url="/loginFailed.html"/>
</http>
這是我的pom.xml
:
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>3.2.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>3.2.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>3.2.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>3.2.6.RELEASE</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.2.6.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.2.0.Final</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
<version>3.2.6.RELEASE</version>
</dependency>
嘗試訪問網址時出錯:
java.lang.NoSuchMethodError:org.springframework.beans.factory.annotation.InjectionMetadata.needsRefresh(Lorg / springframework / beans / factory / annotation / InjectionMetadata; Ljava / lang / Class;)Z在org.springframework.context.annotation.CommonAnnotationBeanPostProcess org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(CommonAnnotationBeanPostProcessor.java:285)的org.springframework.beans.factory.support.AbstractAutowireCapergeBeanBean(Factory) org.springframework.beans.factory上的org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:495)在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)。 support.AbstractBeanFactory $ 1.getObject(Ab org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)的org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)的stractBeanFactory.java:296) org.springframework.context.support.AbstractApplicationContext.initMessageSource(AbstractApplicationContext.java:786)上的.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198)org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:467)在org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:651)在org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:599)在org.springframework。 org.springframework.web.servlet.FrameworkServlet.initWebApplicationCo上的web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:665) org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:459)的org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)的ntext(FrameworkServlet.java:518) .org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1174)的.GenericServlet.init(GenericServlet.java:158)在org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1090)處org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)的org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:770)在org.apache.catalina.core.StandardContextValve.invoke( org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)處的org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)處的StandardContextValve.java:96) org.apache.catalina.valves.AbstractAccessLogValve.invoke的.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) (AbstractAccessLogValve.java:651)在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)在org.apache。在org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)的coyote.http11.Http11Processor.service(Http11Processor.java:417)在org.apache.coyote.AbstractProtocol $ ConnectionHandler.process(AbstractProtocol.java:754)在org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun(NioEndpoint.java:1376)
您的依賴項中使用的是哪個版本的spring-beanss-xxx。
在3.0.x版本中找不到needsRefresh()方法。 它是在Spring 4.0.x中添加的。
您需要運行:
mvn dependency:analyze
或查看所有依賴項
mvn dependency:tree
如果同一個庫具有多個版本,則類加載器可以選擇找到的第一個庫,因此請排除所有不必要的依賴項。
如果沒有任何效果,請刪除您的.m2目錄,然后再次運行。 有時候,行家會欺騙你:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.