1

Je crée une webapp simple en utilisant tomcat 6, spring 2.5.6 et maven.java.lang.ClassNotFoundException: org.springframework.ui.ModelMap

Le problème est quand je démarre tomcat, je reçois les erreurs suivantes:

SEVERE: StandardWrapper.Throwable 
java.lang.NoClassDefFoundError: org/springframework/ui/ModelMap 
... 
Caused by: java.lang.ClassNotFoundException: org.springframework.ui.ModelMap 

Le j'ai aussi classe ModelMap existe dans spring-2.5.6.jar et spring-context-2.5.6.jar, d'autres pots de printemps. Tous sont en cours de déploiement sur tomcat correctement, quand je vérifie l'application WEB-INF (déployée sur tomcat) j'ai trouvé tous ces pots là!

Je n'ai qu'un seul @Controller qui a une méthode @RequestMapping("/home.htm") showForm(ModelMap model). Mon applicationContext est assez simple:

<?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:aop="http://www.springframework.org/schema/aop" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
       http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
       http://www.springframework.org/schema/aop 
       http://www.springframework.org/schema/aop/spring-aop-2.5.xsd 
       http://www.springframework.org/schema/context 
       http://www.springframework.org/schema/context/spring-context-2.5.xsd 
       http://www.directwebremoting.org/schema/spring-dwr 
       http://www.directwebremoting.org/schema/spring-dwr-3.0.xsd" 
    default-autowire="byName"> 

<context:component-scan base-package="org.myapp"/> 
    <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/> 
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/> 

    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property> 
     <property name="prefix" value="/WEB-INF/view/"></property> 
     <property name="suffix" value=".jsp"></property> 
    </bean> 
</beans> 
+0

Désolé, le applicationContext n'a pas été collé correctement, here're les haricots manquants: \t \t user256872

+1

Vous pouvez utiliser le lien' edit' pour mettre à jour la question. – BalusC

+0

L'utilisation de la jarre à ressort avec tout ce qui s'y trouve est déconseillée et, en fait, n'est pas disponible avec la version 3.0.x. Donc, je vous recommande de nommer explicitement les composants de ressort dont vous avez besoin dans vos dépendances maven. (En général, web-mvc, et l'une des bibliothèques d'accès aux données, core, beans, context, web sont incluses en tant que dépendances transitives de web-mvc, mais cela ne fait aucun mal de les inclure explicitement.) – mdma

Répondre

2

spring-2.5.6.jar est le JAR qui contient tous le cadre du printemps. Si vous utilisez ce fichier JAR, vous ne devez utiliser aucun des autres fichiers JAR, tels que spring-context-2.5.6.jar. Ces JAR plus petits sont là si vous voulez choisir et choisir les morceaux de Spring dont vous avez besoin.

Il est possible que le chargeur de classe soit confus entre les copies dupliquées des classes entre les fichiers JAR. Sortez tous les fichiers JAR de Spring sauf spring-2.5.6.jar, et voyez si cela fait une différence.

Questions connexes