org.springframework.web.servlet.DispatcherServlet pas trouvé avec VMWare vFabric tc Server et maven
Je sais qu'il est déjà posté la question, qui est très semblable à celui-ci. Mais la solution ne s'applique pas à mon problème.
Je suis en train de commencer une base de projet pour le Printemps avec Maven.
C'est mon pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>es.indra</groupId>
<artifactId>springappUV</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<org.springframework.version>3.1.1.RELEASE</org.springframework.version>
</properties>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
C'est mon web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>springappUV</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>springapp</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/app-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springapp</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
</web-app>
Je suis à l'aide de VMWare vFabric tc Server Developer Edition v2.6 (celle qui vient avec la STS). Quand je lance la webapp avec elle, j'obtiens l'erreur suivante:
GRAVE: El Servlet /springappUV lanzó excepción de load()
java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1099)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1043)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4957)
at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5284)
at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5279)
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)
06-jul-2012 14:06:56 org.apache.catalina.startup.HostConfig deployDirectory
Je sais qu'il doit avoir à faire avec les dépendances, mais dans les dépendances Maven le pot spring-webmvc-3.1.1.RELEASE.jar contient la classe que l'erreur dit qu'il est manquant.
Il semble donc que le serveur ne sait pas que la bibliothèque est là.
Personne ne sait ce qui pourrait se passer?
Merci!
OriginalL'auteur Neets | 2012-07-06
Vous devez vous connecter pour publier un commentaire.
Vous devez inclure les dépendances maven dans le déploiement de l'assemblée - ils ne sont pas déployés sur le serveur. C'est la façon dont vous corriger cette erreur dans eclipse, je suppose que les STS sont similaires.
dans eclipse, cliquez-droit sur le projet > le déploiement de l'assemblée
merci! en STS, c'est à Droite, cliquez sur le projet > Propriétés > le Déploiement de l'Assemblée
OriginalL'auteur NimChimpsky
Dans les options de projet, vous devez inclure les Dépendances Maven pour votre Déploiement de l'Assemblée
Propriétés du projet-> Déploiement de l'Assemblée -> Ajouter..
Java Build Path Entrées -> les Dépendances Maven
Finition
upd: Veuillez également noter que vous devez définir l'emballage de
war
dans votre projet pom.xml<packaging>war</packaging>
et ensuite utiliser Maven->mise à Jour de Projet.. si vous utilisez eclipse, maven plugin pour mettre à jour STS projet périodiquement.OriginalL'auteur Boris Treukhov