2016-04-12 1 views
1

J'ai l'erreur suivante lors de l'exécution du projet maven.java.lang.NoSuchMethodError: org.springframework.web.context.ConfigurableWebApplicationContext.getEnvironment()

Erreur:

SEVERE: StandardWrapper.Throwable 
java.lang.NoSuchMethodError: org.springframework.web.context.ConfigurableWebApplicationContext.getEnvironment()Lorg/springframework/web/context/ConfigurableWebEnvironment; 
at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:641) 
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:598) 
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:661) 
at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:517) 
at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:458) 
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:138) 
at javax.servlet.GenericServlet.init(GenericServlet.java:160) 
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) 
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:865) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:136) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) 
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:745) 

Apr 12, 2016 9:14:58 AM org.apache.catalina.core.StandardWrapperValve invoke 
SEVERE: Allocate exception for servlet mvc-dispatcher 
java.lang.NoSuchMethodError: org.springframework.web.context.ConfigurableWebApplicationContext.getEnvironment()Lorg/springframework/web/context/ConfigurableWebEnvironment; 
at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:641) 
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:598) 
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:661) 
at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:517) 
at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:458) 
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:138) 
at javax.servlet.GenericServlet.init(GenericServlet.java:160) 
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) 
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:865) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:136) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) 
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:745) 

web.xml

<web-app id="WebApp_ID" version="2.4" 
xmlns="http://java.sun.com/xml/ns/j2ee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 

<display-name>Archetype Created Web Application</display-name> 

<!-- Loads Spring Security config file --> 
<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>   
     /WEB-INF/spring-security.xml, 
     /WEB-INF/data-source-cfg.xml 
    </param-value> 
</context-param> 

<!-- Spring Security Filter --> 
<filter> 
    <filter-name>springSecurityFilterChain</filter-name> 
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> 
</filter> 

<filter-mapping> 
    <filter-name>springSecurityFilterChain</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 

<!-- Spring MVC --> 
<servlet> 
    <servlet-name>mvc-dispatcher</servlet-name>  
    <servlet-class> 
     org.springframework.web.servlet.DispatcherServlet 
    </servlet-class> 
</servlet> 

<servlet-mapping> 
    <servlet-name>mvc-dispatcher</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

</web-app> 

-mvc répartiteur-servlet.xml

<?xml version="1.0" encoding="UTF-8"?> 

<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:context="http://www.springframework.org/schema/context" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation=" 
    http://www.springframework.org/schema/beans  
    http://www.springframework.org/schema/beans/spring-beans-4.1.xsd 
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-4.1.xsd"> 

<context:component-scan base-package="main.java" /> 
<context:annotation-config /> 

<!-- Factory bean that creates the Mongo instance --> 
<bean id="mongo"  class="org.springframework.data.mongodb.core.MongoFactoryBean"> 
    <property name="host" value="localhost" /> 
</bean> 

<!-- MongoTemplate for connecting and querying the documents in the database --> 
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"> 
    <constructor-arg name="mongo" ref="mongo" /> 
    <constructor-arg name="databaseName" value="test" /> 
</bean> 

<!-- Use this post processor to translate any MongoExceptions thrown in @Repository annotated classes --> 
<bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor" /> 

<bean 
class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
<property name="prefix"> 
    <value>/WEB-INF/pages/</value> 
</property> 
<property name="suffix"> 
    <value>.jsp</value> 
</property> 
</bean> 

</beans> 

De nombreuses solutions dit que certains bocaux pourraient manquer bien que j'ai ajouté la plupart d'entre eux. Quelle pourrait être la raison possible de cette erreur. S'il vous plaît donner quelques suggestions. Merci

+0

J'ai eu des dépendances pour spring-core, spring-web, spring-webmvc tous de la version 4.1.4.RELEASE. Il fonctionnait très bien alors. mais pour ajouter mongodb à mon code il a montré l'erreur d'ajouter d'autres bocaux aussi. Donc, j'ai fini par ajouter des dépendances pour l'expression du printemps, les haricots de printemps, le contexte de printemps, le support de contexte de printemps tous de la même version 4.1.4.RELEASE. Mais maintenant, il génère l'erreur mentionnée ci-dessus. Aucune suggestion? –

+0

Cela ressemble à un problème de dépendance/version. Avez-vous essayé de googler votre titre de poste avant de poster? http://stackoverflow.com/questions/18601279/java-lang-nosuchmethoderror-org-springframework-web-context-configurablewebappl – dwjohnston

+1

Essayez d'exécuter 'mvn dependency: tree' – dwjohnston

Répondre

1

Le code qui a été exécuté a été compilé pour une version de l'API de printemps mais au moment de l'exécution, il existe une version différente. Assurez-vous de ne pas inclure différentes versions de la même bibliothèque dans votre application. Lorsque les applications sont construites avec des outils comme Maven, c'est assez commun.

+0

Eh bien m en utilisant la même version pour tous les pots. et comment puis-je m'assurer si le problème est dû à la dépendance/version? –