Tomcat7 déployer l'Échec: org.apache.catalina.LifecycleException: impossible de démarrer le composant /w org.springframework.web.servlet.DispatcherServlet
J'ai un échantillon web.xml écrit ci-dessous:
Le problème, c'est...Si je supprimer org.springframework.web.servlet.DispatcherServlet section, je peux avec succès déployer mon projet en Tomcat7 comme un simple JSP-Servlet app. Cependant, une fois que j'utilise Spring MVC, mon déploiement de l'ÉCHEC Rencontré exception org.apache.catalina.LifecycleException: impossible de démarrer le composant [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/WebMVCProj2]]
Comment puis-je corriger cette erreur?
<?xml version="1.0" encoding="UTF-8"?>
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
Web Spring MVC de l'Application
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Hello</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Hello</servlet-name>
<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>
<!-- I can remove the part below to make deployment successful -->
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
- Je ajouter Spring MVC, la dépendance de l'Entreprise Bundle Repository (CDE). J'ai aussi utiliser Eclipse Dynamique Module Web 3.0, ce qui Tomcat7 doit prendre en charge. Mon jre 1.6.x 64bits utilisé par Tomcat et mon projet. J'utilise également le Déploiement Web de l'Assemblée dans Eclipse.
Ici est mon exception complète:
GRAVE: Erreur de déploiement d'application web archive E:\MyServers\apache-tomcat-7.0.30\webapps\WebMVCProj2.war
java.lang.IllegalStateException: ContainerBase.addChild: date de début: org.apache.catalina.LifecycleException: impossible de démarrer le composant [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/WebMVCProj2]]
au org.apache.catalina.de base.ContainerBase.addChildInternal(ContainerBase.java:904)
au org.apache.catalina.de base.ContainerBase.addChild(ContainerBase.java:877)
au org.apache.catalina.de base.StandardHost.addChild(StandardHost.java:618)
au org.apache.catalina.de démarrage.HostConfig.deployWAR(HostConfig.java:963)
au org.apache.catalina.de démarrage.HostConfig$DeployWar.exécuter(HostConfig.java:1600)
à java.util.de façon concomitante.Les Exécuteurs$RunnableAdapter.appelez le(les Exécuteurs.java:441)
à java.util.de façon concomitante.FutureTask$De Synchronisation.innerRun(FutureTask.java:303)
à java.util.de façon concomitante.FutureTask.exécuter(FutureTask.java:138)
à java.util.de façon concomitante.ThreadPoolExecutor$Par Travailleur.runTask(ThreadPoolExecutor.java:886)
à java.util.de façon concomitante.ThreadPoolExecutor$Par Travailleur.exécuter(ThreadPoolExecutor.java:908)
à java.lang.Fil de discussion.exécution(Thread.java:662)
Avez-vous créé spring-servlet.xml fichier?
OriginalL'auteur enix0907 | 2012-09-28
Vous devez vous connecter pour publier un commentaire.
Vous devriez avoir applicationContext.xml dans le dossier web-inf ou vous devez définir contextConfigLocation dans votre web.xml
Il serait plus utile, si vous pouviez poster exception de trace.
Ok. Pourriez-vous s'il vous plaît laissez-moi savoir le "Causé par:" section d'erreur stacktrace
C'est l'été alors que depuis que j'ai enfin la figure de Printemps, les besoins de dépendance externe dans mon fichier pom.
<dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.1</version> </dependency>
Après j'ai ajouter cette dépendance, mon application web peut être déployé et exécuté dans Tomcat avec succès. Merci encore pour votre aide. 🙂OriginalL'auteur Hemanth
vous pouvez vérifier votre classe de servlet est d'avoir tout annotation comme @WebServlet(". J'ai résolu le même problème en supprimant l'annotation dans la classe de servlet.
OriginalL'auteur Pavan Kumar