J'essaie de créer un run as...run on server
d'une application Web mvc de printemps à partir d'Eclipse et j'obtiens l'erreur de boîte de dialogue suivante:
Quelqu'un peut-il me montrer comment résoudre ce problème?
Voici la trace complète de la pile:
Mar 18, 2014 2:03:22 PM org.Apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the Java.library.path: list of lotsa files with their paths.
Mar 18, 2014 2:03:22 PM org.Apache.Tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.Eclipse.jst.jee.server:KnowledgeManager' did not find a matching property.
Mar 18, 2014 2:03:22 PM org.Apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Mar 18, 2014 2:03:22 PM org.Apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Mar 18, 2014 2:03:22 PM org.Apache.catalina.startup.Catalina load
INFO: Initialization processed in 637 ms
Mar 18, 2014 2:03:22 PM org.Apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Mar 18, 2014 2:03:22 PM org.Apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.42
Mar 18, 2014 2:03:23 PM org.Apache.catalina.core.ContainerBase startInternal
SEVERE: A child container failed during start
Java.util.concurrent.ExecutionException: org.Apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/KnowledgeManager]]
at Java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.Java:222)
at Java.util.concurrent.FutureTask.get(FutureTask.Java:83)
at org.Apache.catalina.core.ContainerBase.startInternal(ContainerBase.Java:1123)
at org.Apache.catalina.core.StandardHost.startInternal(StandardHost.Java:800)
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:150)
at org.Apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.Java:1559)
at org.Apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.Java:1549)
at Java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.Java:303)
at Java.util.concurrent.FutureTask.run(FutureTask.Java:138)
at Java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.Java:886)
at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:908)
at Java.lang.Thread.run(Thread.Java:662)
Caused by: org.Apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/KnowledgeManager]]
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:154)
... 7 more
Caused by: Java.lang.NoClassDefFoundError: org/springframework/context/ConfigurableApplicationContext
at Java.lang.Class.getDeclaredFields0(Native Method)
at Java.lang.Class.privateGetDeclaredFields(Class.Java:2291)
at Java.lang.Class.getDeclaredFields(Class.Java:1743)
at org.Apache.catalina.util.Introspection.getDeclaredFields(Introspection.Java:106)
at org.Apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.Java:263)
at org.Apache.catalina.startup.WebAnnotationSet.loadApplicationListenerAnnotations(WebAnnotationSet.Java:92)
at org.Apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.Java:65)
at org.Apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.Java:405)
at org.Apache.catalina.startup.ContextConfig.configureStart(ContextConfig.Java:881)
at org.Apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.Java:376)
at org.Apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.Java:119)
at org.Apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.Java:90)
at org.Apache.catalina.core.StandardContext.startInternal(StandardContext.Java:5322)
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:150)
... 7 more
Caused by: Java.lang.ClassNotFoundException: org.springframework.context.ConfigurableApplicationContext
at org.Apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.Java:1714)
at org.Apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.Java:1559)
... 21 more
Mar 18, 2014 2:03:23 PM org.Apache.catalina.core.ContainerBase startInternal
SEVERE: A child container failed during start
Java.util.concurrent.ExecutionException: org.Apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
at Java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.Java:222)
at Java.util.concurrent.FutureTask.get(FutureTask.Java:83)
at org.Apache.catalina.core.ContainerBase.startInternal(ContainerBase.Java:1123)
at org.Apache.catalina.core.StandardEngine.startInternal(StandardEngine.Java:302)
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:150)
at org.Apache.catalina.core.StandardService.startInternal(StandardService.Java:443)
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:150)
at org.Apache.catalina.core.StandardServer.startInternal(StandardServer.Java:732)
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:150)
at org.Apache.catalina.startup.Catalina.start(Catalina.Java:691)
at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:39)
at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:25)
at Java.lang.reflect.Method.invoke(Method.Java:597)
at org.Apache.catalina.startup.Bootstrap.start(Bootstrap.Java:322)
at org.Apache.catalina.startup.Bootstrap.main(Bootstrap.Java:456)
Caused by: org.Apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:154)
at org.Apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.Java:1559)
at org.Apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.Java:1549)
at Java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.Java:303)
at Java.util.concurrent.FutureTask.run(FutureTask.Java:138)
at Java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.Java:886)
at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:908)
at Java.lang.Thread.run(Thread.Java:662)
Caused by: org.Apache.catalina.LifecycleException: A child container failed during start
at org.Apache.catalina.core.ContainerBase.startInternal(ContainerBase.Java:1131)
at org.Apache.catalina.core.StandardHost.startInternal(StandardHost.Java:800)
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:150)
... 7 more
Mar 18, 2014 2:03:23 PM org.Apache.catalina.startup.Catalina start
SEVERE: The required Server component failed to start so Tomcat is unable to start.
org.Apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]]
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:154)
at org.Apache.catalina.startup.Catalina.start(Catalina.Java:691)
at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:39)
at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:25)
at Java.lang.reflect.Method.invoke(Method.Java:597)
at org.Apache.catalina.startup.Bootstrap.start(Bootstrap.Java:322)
at org.Apache.catalina.startup.Bootstrap.main(Bootstrap.Java:456)
Caused by: org.Apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:154)
at org.Apache.catalina.core.StandardServer.startInternal(StandardServer.Java:732)
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:150)
... 7 more
Caused by: org.Apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:154)
at org.Apache.catalina.core.StandardService.startInternal(StandardService.Java:443)
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:150)
... 9 more
Caused by: org.Apache.catalina.LifecycleException: A child container failed during start
at org.Apache.catalina.core.ContainerBase.startInternal(ContainerBase.Java:1131)
at org.Apache.catalina.core.StandardEngine.startInternal(StandardEngine.Java:302)
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:150)
... 11 more
Mar 18, 2014 2:03:23 PM org.Apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Mar 18, 2014 2:03:23 PM org.Apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Mar 18, 2014 2:03:23 PM org.Apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Mar 18, 2014 2:03:23 PM org.Apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Mar 18, 2014 2:03:23 PM org.Apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
Voici la dépendance spring-context telle qu'elle est écrite dans mon pom.xml:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring-framework.version}</version>
</dependency>
J'ai également fait un maven update project
, un maven download sources
et un Eclipse clean project
, mais aucune de ces choses n'a résolu ce problème.
Que puis-je faire pour résoudre le problème?
Voici la cause de l'exception:
Java.lang.ClassNotFoundException: org.springframework.context.ConfigurableApplicationContext
Vous devez ajouter spring-context
et tous les fichiers jars dont dépend cet artefact au chemin de classe de votre projet, par exemple: Org.springframework Spring-context $ { org.springframework.version}
MODIFIER:
Cliquez avec le bouton droit de la souris sur votre projet -> Propriétés -> Assemblage de déploiement et vérifiez que les dépendances de votre projet sont déployées sur WEB-INF/lib:
MODIFIER:
Ce qui a vraiment résolu le problème: clic droit sur le serveur (dans la vue des serveurs d’Eclipse) -> nettoyer + publier .
J'ai aussi eu le même problème. le problème est dû au fait que le fichier .jar de journalisation commun n'a pas été ajouté dans le chemin de génération de mon projet. après l'ajout, le projet fonctionne bien.
cette trace de pile indique clairement ClassNotFoundException
Il semble que Spring-context.jar
ne soit pas trouvé dans votre chemin de classe.
Essayez d’ajouter d’abord ce fichier jar dans votre chemin de classe.
Pouvez-vous voir les pots de printemps dans la section "Dépendances Maven" du projet?
Sinon, vous pouvez avoir un problème dans la définition de vos dépendances de pom, ou peut-être que le projet de mise à jour n'a pas abouti. Essayez de vérifier la définition des dépendances et réexécutez le projet de mise à jour.
Si oui, avez-vous essayé "nettoyer ...", "nettoyer le répertoire de travail" et "publier" sur votre serveur?
J'espère que ça aide.
Vérifiez votre modèle d'url dans web.xml /Webapp /* Remplacez "webapp" par votre nom de chemin.
J'ai eu le même problème en raison de dépendances disponibles dans le fichier pom.xml, certaines d'entre elles sont corrompues. Je résous cela en supprimant simplement le contenu du dossier .m2/repository et en suivant cette procédure.
J'espère que cela vous aidera aussi.