J'utilise 3.1.0.RELEASE de printemps , et mon conteneur de servlets est tomcat 7 et mon IDE est indigo éclipse et le pot printemps-webmvc-3.1.0.RELEASE.jar qui contient le DispatcherServlet existe dans le dossier lib, et pourtant , quand exécutant l'application, j'obtiens l'exception:
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:525)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:507)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:126)
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)
Veuillez indiquer pourquoi je reçois cette exception et comment y remédier.
EDIT: voici mes fichiers de configuration:
1- .springBeans:
<?xml version="1.0" encoding="UTF-8"?>
<beansProjectDescription>
<version>1</version>
<pluginVersion><![CDATA[2.9.0.201203011806-RELEASE]]></pluginVersion>
<configSuffixes>
<configSuffix><![CDATA[xml]]></configSuffix>
</configSuffixes>
<enableImports><![CDATA[false]]></enableImports>
<configs>
<config>src/main/webapp/WEB-INF/checkout-servlet.xml</config>
</configs>
<configSets>
</configSets>
</beansProjectDescription>
2- web.xml:
<web-app>
<display-name>Checkout</display-name>
<servlet>
<servlet-name>checkout</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>checkout</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
</web-app>
3- checkout-servlet.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">
<context:component-scan base-package="com.myapp"/>
<bean id="myService" class="com.myapp.MyService"/>
</beans>
également en essayant d'accéder à n'importe quelle page de l'application, j'obtiens l'exception:
HTTP Status 404 - Servlet checkout is not available
type Status report
message Servlet checkout is not available
description The requested resource (Servlet checkout is not available) is not available.
Apache Tomcat/7.0.22
spring
maven
spring-mvc
maven-2
Mahmoud Saleh
la source
la source
Réponses:
Vous devez ajouter la «dépendance Maven» dans l'assembly de déploiement
Reconstruire et déployer à nouveau
Remarque: Ceci s'applique également aux projets non maven .
la source
Deux réponses possibles:
1- Vous n'avez pas inclus les pots spring-beans et spring-context dans votre bibliothèque. Si vous utilisez maven (ce qui vous aidera beaucoup) ces deux lignes suffiront
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>3.1.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>3.1.0.RELEASE</version> </dependency>
2- Les jars nécessaires sont dans votre classpath mais ne sont pas déployés sur tomcat.
la source
spring-webmvc
à monpom.xml
résoudra le problème. Merci.Salut les gars, j'ai eu le même problème avec Idea Intellij et Spring 4 J'ai résolu le problème et je voulais partager la réponse avec vous.
J'utilise tomcat 7 / idea intellij 13 / spring 4
dépendances pom.xml
<properties> <spring.version>4.0.5.RELEASE</spring.version> </properties> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> enter code here <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.2</version> </dependency> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> </dependency> </dependencies>
Dans idea Intellij, vous devez aller dans Fichier -> Paramètres du projet -> Artefacts. ensuite
nettoyer -> reconstruire le projet -> construire l'artefact et tout ira bien ...
la source
Cela résout le problème pour moi. C'est facile et assez simplement expliqué.
Étape 1
Étape 2
Étape 3
Étape 4
Étape 5
classenotfoundexception
la source
J'ai trouvé que dans l' assemblage de déploiement , il y avait l'entrée:
Je l'ai supprimé et ajouté l'
maven dependencies
entrée, et cela fonctionne très bien maintenant.la source
Si tous ces conseils ne fonctionnent pas, vous devez recréer votre serveur (Tomcat ou autre). Cela a résolu mon problème.
la source
Incluez ci-dessous la dépendance dans votre pom.xml
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>{spring-version}</version> </dependency>
la source
J'étais confronté au même problème. Quand j'ai vu dans le dossier maven repository .m2 (.... m2 \ repository \ org \ springframework \ spring-webmvc) dans mon local, j'ai trouvé deux dossiers 3.2.0.RELEASE. Alors j'en ai enlevé un. Puis je suis allé au projet, clic droit-> propriétés-> déploiement essembly-> ajouter des dépendances maven. clean build, puis redémarrez le serveur. Ensuite, le DispatcherServlet a été chargé.
la source
Dans mon cas, j'obtiens ce problème après avoir utilisé l'utilitaire de projet de mise à jour de maven. J'ai essayé toutes les solutions de contournement que vous avez suggérées, mais rien ne semblait fonctionner. À la fin, la solution consistait simplement à supprimer le projet du serveur pour s'assurer qu'il était propre et à l'ajouter à nouveau. Ensuite, ça marche, j'espère que cette solution pourra vous aider.
la source
Vous pouvez utiliser le serveur GlassFish et l'erreur sera résolue. J'ai essayé avec tomcat7 et tomcat8 mais cette erreur arrivait continuellement mais résolue avec GlassFish. Je pense que c'est un problème avec le serveur.
Voici les résultats avec tomcat7:
Voici les résultats avec GlassFish:
la source
faites un clic droit sur votre projet et choisissez les propriétés. cliquez sur Deployement Assembly. cliquez sur ajouter cliquez sur "Entrées du chemin de construction Java" sélectionnez Dépendances Maven "cliquez sur Terminer.
la source
Cela peut être utile pour quelqu'un, je vais donc le poster ici. Il me manquait cette dépendance à mon
pom.xml
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency>
la source
la source
J'ai résolu en suivant ces étapes:
Cela corrige les paramètres «Deployment Assembly» du projet.
la source
Déplacez les fichiers jar de votre chemin de classe vers web-inf / lib et exécutez un nouveau serveur tomcat.
la source
J'ai trouvé une solution simple, ajoutez simplement vos jars dans le dossier WEB-INF -> lib.
la source
J'ai eu ce même problème dans WebSphere, mais je n'ai pas pu trouver de solution même si j'ai vérifié que les dépendances de Spring étaient là et que cela fonctionnait très bien dans tomcat. J'ai fini par désinstaller l'application et j'obtenais toujours l'erreur, donc je pense que WebSphere s'accrochait à une instance corrompue.
Pour résoudre le problème, j'ai dû réinstaller l'application, l'arrêter, la désinstaller, puis la réinstaller.
la source
Pour moi, c'était une erreur dans le
pom.xml
- j'avais mis<scope>provided<scope>
sur mes dépendances, et cela empêchait de les copier pendant lamvn package
scène.Mes symptômes étaient le message d'erreur publié par l'OP et le fait que les fichiers JAR n'étaient pas inclus dans le chemin WEB-INF / lib à l'intérieur du .war après l'exécution du package. Lorsque j'ai supprimé la portée, les jars sont apparus dans la sortie, et tout se charge bien maintenant.
la source